2024-07-27 22:09:51 +05:00

64 lines
1.7 KiB
C#

namespace SoulstormReplayReader.Core.Domain;
public sealed class WinConditions
{
public enum ConditionValues
{
Annihilate = 1003066394,
SuddenDeath = -1826760460,
Assassinate = 200405640,
EconomicVictory = -242444938,
ControlArea = 735076042,
DestroyHQ = 1509920563,
TakeAndHold = 1959084950,
GameTimer = 69421273
}
// [DWORD] [WIN_CONDITION]
// 767227721 Annihilate
// -1826760460 SuddenDeath
// 200405640 Assassinate
// -242444938 EconomicVictory
// 735076042 ControlArea
// 1509920563 DestroyHQ
// 1959084950 TakeAndHold
// 69421273 GameTime
public bool TakeAndHold { get; set; }
public bool DestroyHQ { get; set; }
public bool ControlArea { get; set; }
public bool EconomicVictory { get; set; }
public bool SuddenDeath { get; set; }
public bool Annihilate { get; set; }
public bool Assassinate { get; set; }
public bool GameTimer { get; set; }
public IEnumerable<string> Enumerate()
{
if (Annihilate)
yield return nameof(Annihilate);
if (Assassinate)
yield return nameof(Assassinate);
if (ControlArea)
yield return nameof(ControlArea);
if (DestroyHQ)
yield return nameof(DestroyHQ);
if (EconomicVictory)
yield return nameof(EconomicVictory);
if (GameTimer)
yield return nameof(GameTimer);
if (SuddenDeath)
yield return nameof(SuddenDeath);
if (TakeAndHold)
yield return nameof(TakeAndHold);
}
public override string ToString() => string.Join('\n', Enumerate());
}