public void TryToAddPlan(AbPlayerPlan plan) { if (plan.IsExecutable && (plan.TargetCell == null || !Plans.Exists(x => x.TargetCell == plan.TargetCell && x.TargetCell != x.Player.Nest))) { Plans.Add(plan); plan.OnDone += RemovePlan; plan.Prepare(); } }
public void StopCreatingUnit(AbPlayerPlan plan) { }
public bool CheckPlan(AbPlayerPlan plan) { return(plan.IsExecutable && CheckCell(plan.TargetCell)); }
private void RemovePlan(AbPlayerPlan plan) { plan.OnDone -= RemovePlan; Plans.Remove(plan); }
public void ForceExecutePlan(AbPlayerPlan plan) { plan.Execute(); }