mirror of
https://github.com/EggLinks/DanhengServer-OpenSource.git
synced 2026-01-02 20:26:03 +08:00
fix some bugs
This commit is contained in:
@@ -77,7 +77,7 @@ namespace EggLink.DanhengServer.Data.Excel
|
||||
CurrentHp = hp == 0 ? 10000 : hp,
|
||||
CurrentSp = sp,
|
||||
InternalEntityId = Id,
|
||||
PlayerData = DatabaseHelper.GetInstance<PlayerData>(uid),
|
||||
PlayerData = DatabaseHelper.Instance!.GetInstance<PlayerData>(uid),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace EggLink.DanhengServer.Database.Account
|
||||
public static AccountData? GetAccountByUserName(string username)
|
||||
{
|
||||
AccountData? result = null;
|
||||
DatabaseHelper.Instance?.GetAllInstance<AccountData>()?.ForEach((account) =>
|
||||
DatabaseHelper.GetAllInstance<AccountData>()?.ForEach((account) =>
|
||||
{
|
||||
if (account.Username == username)
|
||||
{
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace EggLink.DanhengServer.Database.Account
|
||||
Username = username,
|
||||
Permissions = perStr
|
||||
};
|
||||
DatabaseHelper.Instance?.SaveInstance(account);
|
||||
DatabaseHelper.SaveInstance(account);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -393,7 +393,7 @@ namespace EggLink.DanhengServer.Database.Avatar
|
||||
Pos = (uint)pos,
|
||||
};
|
||||
|
||||
var inventory = DatabaseHelper.GetInstance<InventoryData>(PlayerData!.Uid)!;
|
||||
var inventory = DatabaseHelper.Instance!.GetInstance<InventoryData>(PlayerData!.Uid)!;
|
||||
foreach (var item in Relic)
|
||||
{
|
||||
var relic = inventory.RelicItems.Find(x => x.UniqueId == item.Value)!;
|
||||
|
||||
@@ -123,7 +123,7 @@ namespace EggLink.DanhengServer.Database
|
||||
}
|
||||
}
|
||||
|
||||
public static void MoveFromSqlite()
|
||||
public void MoveFromSqlite()
|
||||
{
|
||||
logger.Info("Moving from sqlite...");
|
||||
|
||||
@@ -199,7 +199,7 @@ namespace EggLink.DanhengServer.Database
|
||||
}
|
||||
}
|
||||
|
||||
public static T? GetInstance<T>(int uid) where T : class, new()
|
||||
public T? GetInstance<T>(int uid) where T : class, new()
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -273,7 +273,7 @@ namespace EggLink.DanhengServer.Database
|
||||
SaveDatabase();
|
||||
}
|
||||
|
||||
public static void SaveDatabase() // per 5 min
|
||||
public void SaveDatabase() // per 5 min
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -318,7 +318,7 @@ namespace EggLink.DanhengServer.Database
|
||||
}
|
||||
}
|
||||
|
||||
public static void DeleteInstance<T>(T instance) where T : class, new()
|
||||
public void DeleteInstance<T>(T instance) where T : class, new()
|
||||
{
|
||||
sqlSugarScope?.Deleteable(instance).ExecuteCommand();
|
||||
UidInstanceMap[(instance as BaseDatabaseDataHelper)!.Uid].Remove((instance as BaseDatabaseDataHelper)!); // remove from the map
|
||||
|
||||
@@ -69,7 +69,7 @@ namespace EggLink.DanhengServer.Database.Player
|
||||
|
||||
public PlayerSimpleInfo ToSimpleProto(FriendOnlineStatus status)
|
||||
{
|
||||
var AvatarInfo = DatabaseHelper.GetInstance<AvatarData>(Uid)!;
|
||||
var AvatarInfo = DatabaseHelper.Instance!.GetInstance<AvatarData>(Uid)!;
|
||||
|
||||
foreach (var avatar in AvatarInfo.Avatars)
|
||||
{
|
||||
@@ -120,7 +120,7 @@ namespace EggLink.DanhengServer.Database.Player
|
||||
RecordInfo = new(),
|
||||
};
|
||||
|
||||
var AvatarInfo = DatabaseHelper.GetInstance<AvatarData>(Uid);
|
||||
var AvatarInfo = DatabaseHelper.Instance!.GetInstance<AvatarData>(Uid);
|
||||
|
||||
if (AvatarInfo != null)
|
||||
{
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace EggLink.DanhengServer.Command
|
||||
|
||||
public bool HasPermission(string permission)
|
||||
{
|
||||
var account = DatabaseHelper.GetInstance<AccountData>(Player.Uid)!;
|
||||
var account = DatabaseHelper.Instance!.GetInstance<AccountData>(Player.Uid)!;
|
||||
return account.Permissions!.Contains(permission);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ namespace EggLink.DanhengServer.Game.Battle
|
||||
var avatarType = AvatarType.AvatarFormalType;
|
||||
if (avatar.AssistUid != 0)
|
||||
{
|
||||
var player = DatabaseHelper.GetInstance<AvatarData>(avatar.AssistUid);
|
||||
var player = DatabaseHelper.Instance!.GetInstance<AvatarData>(avatar.AssistUid);
|
||||
if (player != null)
|
||||
{
|
||||
avatarInstance = player.Avatars!.Find(item => item.GetAvatarId() == avatar.BaseAvatarId);
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace EggLink.DanhengServer.Game.Friend
|
||||
|
||||
public void AddFriend(int targetUid)
|
||||
{
|
||||
var target = DatabaseHelper.GetInstance<FriendData>(targetUid);
|
||||
var target = DatabaseHelper.Instance!.GetInstance<FriendData>(targetUid);
|
||||
if (target == null)
|
||||
{
|
||||
return;
|
||||
@@ -58,7 +58,7 @@ namespace EggLink.DanhengServer.Game.Friend
|
||||
|
||||
public PlayerData? ConfirmAddFriend(int targetUid)
|
||||
{
|
||||
var target = DatabaseHelper.GetInstance<FriendData>(targetUid);
|
||||
var target = DatabaseHelper.Instance!.GetInstance<FriendData>(targetUid);
|
||||
if (target == null)
|
||||
{
|
||||
return null;
|
||||
@@ -100,7 +100,7 @@ namespace EggLink.DanhengServer.Game.Friend
|
||||
|
||||
public void RefuseAddFriend(int targetUid)
|
||||
{
|
||||
var target = DatabaseHelper.GetInstance<FriendData>(targetUid);
|
||||
var target = DatabaseHelper.Instance!.GetInstance<FriendData>(targetUid);
|
||||
if (target == null)
|
||||
{
|
||||
return;
|
||||
@@ -174,7 +174,7 @@ namespace EggLink.DanhengServer.Game.Friend
|
||||
} else
|
||||
{
|
||||
// offline
|
||||
var friendData = DatabaseHelper.GetInstance<FriendData>(recvUid);
|
||||
var friendData = DatabaseHelper.Instance!.GetInstance<FriendData>(recvUid);
|
||||
if (friendData == null) return; // not exist maybe server profile
|
||||
if (!friendData.ChatHistory.TryGetValue(sendUid, out FriendChatHistory? history))
|
||||
{
|
||||
|
||||
@@ -80,7 +80,7 @@ namespace EggLink.DanhengServer.Game.Player
|
||||
Data.NextStaminaRecover = Extensions.GetUnixSec() + GameConstants.STAMINA_RESERVE_RECOVERY_TIME;
|
||||
Data.Level = ConfigManager.Config.ServerOption.StartTrailblazerLevel;
|
||||
|
||||
DatabaseHelper.Instance?.SaveInstance(Data);
|
||||
DatabaseHelper.SaveInstance(Data);
|
||||
|
||||
InitialPlayerManager();
|
||||
|
||||
@@ -154,20 +154,10 @@ namespace EggLink.DanhengServer.Game.Player
|
||||
}
|
||||
}
|
||||
|
||||
public T? InitializeDatabase<T>() where T : class, new()
|
||||
public T InitializeDatabase<T>() where T : class, new()
|
||||
{
|
||||
if (new T() is BaseDatabaseDataHelper database)
|
||||
{
|
||||
var instance = DatabaseHelper.Instance?.GetInstance<T>(Uid);
|
||||
if (instance == null)
|
||||
{
|
||||
database.Uid = Uid;
|
||||
DatabaseHelper.Instance?.SaveInstance<T>((database as T)!);
|
||||
instance = DatabaseHelper.Instance?.GetInstance<T>(Uid);
|
||||
}
|
||||
return instance!;
|
||||
}
|
||||
return null;
|
||||
var instance = DatabaseHelper.Instance?.GetInstanceOrCreateNew<T>(Uid);
|
||||
return instance!;
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -191,24 +181,6 @@ namespace EggLink.DanhengServer.Game.Player
|
||||
EnterScene(OldEntryId, 0, false);
|
||||
MoveTo(LastPos!, LastRot!);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
DatabaseHelper.Instance?.UpdateInstance(LineupManager!.LineupData);
|
||||
DatabaseHelper.Instance?.UpdateInstance(InventoryManager!.Data);
|
||||
DatabaseHelper.Instance?.UpdateInstance(MissionManager!.Data);
|
||||
DatabaseHelper.Instance?.UpdateInstance(AvatarManager!.AvatarData!);
|
||||
DatabaseHelper.Instance?.UpdateInstance(FriendManager!.FriendData!);
|
||||
DatabaseHelper.Instance?.UpdateInstance(MessageManager!.Data!);
|
||||
DatabaseHelper.Instance?.UpdateInstance(ChessRogueManager!.ChessRogueNousData!);
|
||||
DatabaseHelper.Instance?.UpdateInstance(GachaManager!.GachaData!);
|
||||
DatabaseHelper.Instance?.UpdateInstance(Data);
|
||||
DatabaseHelper.Instance?.UpdateInstance(PlayerUnlockData!);
|
||||
DatabaseHelper.Instance?.UpdateInstance(SceneData!);
|
||||
DatabaseHelper.Instance?.UpdateInstance(TutorialData!);
|
||||
} catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public void SendPacket(BasePacket packet)
|
||||
|
||||
Reference in New Issue
Block a user