server-master/srcs/WingsAPI.Game/Revival/CharacterRevivalComponent.cs
2026-02-10 18:21:30 +01:00

52 lines
No EOL
1.7 KiB
C#

using System;
namespace WingsEmu.Game.Revival;
public interface ICharacterRevivalComponent
{
public DateTime RevivalDateTimeForExecution { get; }
public RevivalType RevivalType { get; }
public ForcedType ForcedType { get; }
public DateTime AskRevivalDateTimeForExecution { get; }
public AskRevivalType AskRevivalType { get; }
public void UpdateRevival(DateTime revivalDateTimeForExecution, RevivalType revivalType, ForcedType forcedType);
public void DisableRevival();
public void UpdateAskRevival(DateTime askRevivalDateTimeForExecution, AskRevivalType askRevivalType);
public void DisableAskRevival();
}
public class CharacterRevivalComponent : ICharacterRevivalComponent
{
public DateTime RevivalDateTimeForExecution { get; private set; } = DateTime.MaxValue;
public RevivalType RevivalType { get; private set; }
public ForcedType ForcedType { get; private set; }
public DateTime AskRevivalDateTimeForExecution { get; private set; } = DateTime.MaxValue;
public AskRevivalType AskRevivalType { get; private set; }
public void UpdateRevival(DateTime revivalDateTimeForExecution, RevivalType revivalType, ForcedType forcedType)
{
RevivalDateTimeForExecution = revivalDateTimeForExecution;
RevivalType = revivalType;
ForcedType = forcedType;
}
public void DisableRevival()
{
RevivalDateTimeForExecution = DateTime.MaxValue;
}
public void UpdateAskRevival(DateTime askRevivalDateTimeForExecution, AskRevivalType askRevivalType)
{
AskRevivalDateTimeForExecution = askRevivalDateTimeForExecution;
AskRevivalType = askRevivalType;
}
public void DisableAskRevival()
{
AskRevivalDateTimeForExecution = DateTime.MaxValue;
}
}