Example #1
0
        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);
        }
Example #2
0
 private void EventPublisherOnTargetSelected(object sender, AttackEventArgs e)
 {
     ActiveAttacker = e.Attacker;
     ActivePlan = e.Plan;
     _map.Invalidate(false);
 }
Example #3
0
 private void EventPublisherOnTargetAdded(object sender, AttackEventArgs e)
 {
     Debug.Assert(!_plans.Contains(e.Plan));
     _plans.Add(e.Plan);
 }
Example #4
0
 public void AttackSelect(object sender, AttackPlanFrom attacker)
 {
     var e = new AttackEventArgs(attacker.Plan, attacker);
     AttackSelect(sender, e);
 }
Example #5
0
 public void AttackSelect(object sender, AttackPlan plan)
 {
     var e = new AttackEventArgs(plan, null);
     AttackSelect(sender, e);
 }
Example #6
0
 public void AttackRemoveTarget(object sender, AttackPlan plan)
 {
     var e = new AttackEventArgs(plan, null);
     if (TargetRemoved != null)
         TargetRemoved(sender, e);
 }
Example #7
0
 private void AttackSelect(object sender, AttackEventArgs e)
 {
     if (TargetSelected != null)
         TargetSelected(sender, e);
 }