Files
Somebody 87d228eb79 Feature:Asynchronous Operation & Formatting Code
- Now the async operation is enabled!
- Code formatted by Resharper plugin <3
2024-07-22 17:12:03 +08:00

62 lines
1.8 KiB
C#

using EggLink.DanhengServer.Data;
using EggLink.DanhengServer.Enums.Mission;
using SqlSugar;
namespace EggLink.DanhengServer.Database.Scene;
[SugarTable("HeartDial")]
public class HeartDialData : BaseDatabaseDataHelper
{
[SugarColumn(IsJson = true)] public Dictionary<int, HeartDialInfo> DialList { get; set; } = [];
public HeartDialInfo ChangeScriptEmotion(int scriptId, HeartDialEmoTypeEnum emoType, HeartDialStepTypeEnum stepType)
{
if (DialList.TryGetValue(scriptId, out var dialInfo))
{
dialInfo.EmoType = emoType;
dialInfo.StepType = stepType;
}
else
{
DialList.Add(scriptId, new HeartDialInfo
{
ScriptId = scriptId,
EmoType = emoType,
StepType = stepType
});
dialInfo = DialList[scriptId];
}
return dialInfo;
}
public HeartDialInfo ChangeScriptEmotion(int scriptId, HeartDialEmoTypeEnum emoType)
{
if (DialList.TryGetValue(scriptId, out var dialInfo))
{
dialInfo.EmoType = emoType;
}
else
{
GameData.HeartDialScriptData.TryGetValue(scriptId, out var scriptData);
DialList.Add(scriptId, new HeartDialInfo
{
ScriptId = scriptId,
EmoType = emoType,
StepType = scriptData?.StepList[0] ?? HeartDialStepTypeEnum.Normal
});
dialInfo = DialList[scriptId];
}
return dialInfo;
}
}
public class HeartDialInfo
{
public int ScriptId { get; set; }
public HeartDialEmoTypeEnum EmoType { get; set; } = HeartDialEmoTypeEnum.Peace;
public HeartDialStepTypeEnum StepType { get; set; } = HeartDialStepTypeEnum.Normal;
}