25 lines
918 B
C#
25 lines
918 B
C#
using GeometryTD.Definition;
|
|
|
|
namespace GeometryTD.CustomComponent
|
|
{
|
|
internal static class PhaseEndConditionFactory
|
|
{
|
|
private static readonly IPhaseEndCondition None = new NonePhaseEndCondition();
|
|
private static readonly IPhaseEndCondition TimeElapsed = new TimeElapsedPhaseEndCondition();
|
|
private static readonly IPhaseEndCondition EnemiesCleared = new EnemiesClearedPhaseEndCondition();
|
|
private static readonly IPhaseEndCondition BossDead = new BossDeadPhaseEndCondition();
|
|
|
|
public static IPhaseEndCondition Create(PhaseEndType endType)
|
|
{
|
|
return endType switch
|
|
{
|
|
PhaseEndType.TimeElapsed => TimeElapsed,
|
|
PhaseEndType.EnemiesCleared => EnemiesCleared,
|
|
PhaseEndType.BossDead => BossDead,
|
|
PhaseEndType.None => None,
|
|
_ => None
|
|
};
|
|
}
|
|
}
|
|
}
|