private void EventPublisherOnTargetRemoved(object sender, AttackEventArgs e) { _plans.Remove(e.Plan); if (ActivePlan == e.Plan) { var selectedPlan = _plans.OrderBy(x => x.Target.DistanceTo(ActivePlan.Target)).FirstOrDefault(); _map.EventPublisher.AttackSelect(sender, selectedPlan); } _map.Invalidate(false); }
private void EventPublisherOnTargetSelected(object sender, AttackEventArgs e) { ActiveAttacker = e.Attacker; ActivePlan = e.Plan; _map.Invalidate(false); }
private void EventPublisherOnTargetAdded(object sender, AttackEventArgs e) { Debug.Assert(!_plans.Contains(e.Plan)); _plans.Add(e.Plan); }
public void AttackSelect(object sender, AttackPlanFrom attacker) { var e = new AttackEventArgs(attacker.Plan, attacker); AttackSelect(sender, e); }
public void AttackSelect(object sender, AttackPlan plan) { var e = new AttackEventArgs(plan, null); AttackSelect(sender, e); }
public void AttackRemoveTarget(object sender, AttackPlan plan) { var e = new AttackEventArgs(plan, null); if (TargetRemoved != null) TargetRemoved(sender, e); }
private void AttackSelect(object sender, AttackEventArgs e) { if (TargetSelected != null) TargetSelected(sender, e); }