mirror of
https://github.com/EggLinks/DanhengServer-OpenSource.git
synced 2026-01-02 20:26:03 +08:00
57 lines
1.6 KiB
C#
57 lines
1.6 KiB
C#
using EggLink.DanhengServer.Data;
|
|
using EggLink.DanhengServer.Data.Excel;
|
|
using EggLink.DanhengServer.Database;
|
|
using EggLink.DanhengServer.Database.Avatar;
|
|
using EggLink.DanhengServer.Game.Player;
|
|
|
|
namespace EggLink.DanhengServer.Game.Avatar
|
|
{
|
|
public class AvatarManager : BasePlayerManager
|
|
{
|
|
public AvatarData AvatarData { get; private set; }
|
|
|
|
public AvatarManager(PlayerInstance player) : base(player)
|
|
{
|
|
var avatars = DatabaseHelper.Instance?.GetInstance<AvatarData>(player.Uid);
|
|
if (avatars == null)
|
|
{
|
|
AvatarData = new()
|
|
{
|
|
Uid = player.Uid,
|
|
Avatars = [],
|
|
};
|
|
DatabaseHelper.Instance?.SaveInstance(AvatarData);
|
|
}
|
|
else
|
|
{
|
|
AvatarData = avatars;
|
|
}
|
|
}
|
|
|
|
public void AddAvatar(int avatarId)
|
|
{
|
|
GameData.AvatarConfigData.TryGetValue(avatarId, out AvatarConfigExcel? avatarExcel);
|
|
if (avatarExcel == null)
|
|
{
|
|
return;
|
|
}
|
|
var avatar = new AvatarInfo(avatarExcel)
|
|
{
|
|
AvatarId = avatarId,
|
|
Level = 1,
|
|
Timestamp = DateTime.Now.Ticks / TimeSpan.TicksPerSecond,
|
|
CurrentHp = 10000,
|
|
CurrentSp = 0
|
|
};
|
|
|
|
if (AvatarData.Avatars == null)
|
|
{
|
|
AvatarData.Avatars = [];
|
|
}
|
|
|
|
AvatarData.Avatars.Add(avatar);
|
|
DatabaseHelper.Instance?.UpdateInstance(AvatarData);
|
|
}
|
|
}
|
|
}
|