26 lines
944 B
C#
26 lines
944 B
C#
using GeometryTD.CustomComponent;
|
|
using GeometryTD.Definition;
|
|
|
|
namespace GeometryTD.Factory
|
|
{
|
|
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
|
|
};
|
|
}
|
|
}
|
|
}
|