public abstract class Condition
public abstract bool Test(Player player);
public Condition[] conditions;
public class Kills : Condition
public override bool Test(Player player)
return player.kills > amount;
public NpcAlive : Condition
public override bool Test(NPC npc)
public static void Main()
var mission = new Mission();
mission.conditions = new Condition[]{ new Kills(5), NpcAlive(someNpc) };