More betterer Time tracking and basic Win/Lose check
This commit is contained in:
33
3d Prototyp/Assets/Scripts/Utility/EndGameCondition.cs
Normal file
33
3d Prototyp/Assets/Scripts/Utility/EndGameCondition.cs
Normal file
@ -0,0 +1,33 @@
|
||||
using System;
|
||||
|
||||
namespace Utility
|
||||
{
|
||||
[Flags]
|
||||
public enum EndGameCondition
|
||||
{
|
||||
Win = 0x01,
|
||||
Lose = 0x02,
|
||||
|
||||
Win_GamePublished = Win | 0x04,
|
||||
Lose_NoDevelopersLeft = Lose | 0x08,
|
||||
Lose_DeadlineMissed = Lose | 0x10
|
||||
}
|
||||
|
||||
public static class EndGameConditionExtension
|
||||
{
|
||||
public static bool IsWin(this EndGameCondition endGameCondition) =>
|
||||
endGameCondition.HasFlag(EndGameCondition.Win);
|
||||
|
||||
public static bool IsLose(this EndGameCondition endGameCondition) =>
|
||||
endGameCondition.HasFlag(EndGameCondition.Lose);
|
||||
|
||||
public static string GetEndGameMessage(this EndGameCondition endGameCondition) =>
|
||||
endGameCondition switch
|
||||
{
|
||||
EndGameCondition.Win_GamePublished => "Dein Spiel wurde erfolgreich veröffentlicht!",
|
||||
EndGameCondition.Lose_NoDevelopersLeft => "Oh nein, alle deine Entwickler sind weg!",
|
||||
EndGameCondition.Lose_DeadlineMissed => "Oh nein, du hast die Deadline verpasst!",
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(endGameCondition), endGameCondition, null)
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user