fix some bugs

This commit is contained in:
Somebody
2024-05-18 21:00:37 +08:00
parent a587a82c42
commit cf51274ca9
10 changed files with 20 additions and 48 deletions

View File

@@ -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),
};
}
}

View File

@@ -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)
{

View File

@@ -31,7 +31,7 @@ namespace EggLink.DanhengServer.Database.Account
Username = username,
Permissions = perStr
};
DatabaseHelper.Instance?.SaveInstance(account);
DatabaseHelper.SaveInstance(account);
}
}
}

View File

@@ -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)!;

View File

@@ -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

View File

@@ -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)
{

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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))
{

View File

@@ -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)