示例#1
0
        public AttackPlanFromControl AddAttacker(AttackPlanFrom attackFrom)
        {
            var ctl = new AttackPlanFromControl(_unitImageList, attackFrom);

            DistanceContainer.Controls.Add(ctl);
            return(ctl);
        }
示例#2
0
 public void RemoveAttacker(AttackPlanFrom attacker)
 {
     AttackPlanFromControl attackerControl = GetControlForAttackPlan(attacker);
     if (attackerControl != null)
     {
         DistanceContainer.Controls.Remove(attackerControl);
     }
 }
示例#3
0
        public AttackPlanFromControl(ImageList list, AttackPlanFrom attacker)
        {
            InitializeComponent();

            UnitBox.ImageList = list;

            SetVillage(attacker);
        }
        public AttackPlanFromControl(ImageList list, AttackPlanFrom attacker)
        {
            InitializeComponent();

            UnitBox.ImageList = list;

            SetVillage(attacker);
        }
示例#5
0
        public void RemoveAttacker(AttackPlanFrom attacker)
        {
            AttackPlanFromControl attackerControl = GetControlForAttackPlan(attacker);

            if (attackerControl != null)
            {
                DistanceContainer.Controls.Remove(attackerControl);
            }
        }
        public void SetVillage(AttackPlanFrom attacker)
        {
            _changingAttacker = true;
            Attacker          = attacker;

            Coords.SetVillage(attacker.Attacker);
            UnitBox.SelectedIndex = attacker.SlowestUnit.Position;

            _changingAttacker = false;
            UpdateDisplay();
        }
示例#7
0
        public void SetVillage(AttackPlanFrom attacker)
        {
            _changingAttacker = true;
            Attacker = attacker;

            Coords.SetVillage(attacker.Attacker);
            UnitBox.SelectedIndex = attacker.SlowestUnit.Position;

            _changingAttacker = false;
            UpdateDisplay();
        }
示例#8
0
        /// <summary>
        /// Visual indication of currently selected attacker in the plan
        /// </summary>
        public void SetActiveAttacker(AttackPlanFrom activeAttacker)
        {
            if (_activeAttacker != null)
            {
                _activeAttacker.BackColor = SystemColors.Control;
            }

            AttackPlanFromControl attackerControl = GetControlForAttackPlan(activeAttacker);
            if (attackerControl != null)
            {
                attackerControl.BackColor = SystemColors.ControlDark;
                _activeAttacker = attackerControl;
                DistanceContainer.ScrollControlIntoView(_activeAttacker);
            }
        }
示例#9
0
        /// <summary>
        /// Visual indication of currently selected attacker in the plan
        /// </summary>
        public void SetActiveAttacker(AttackPlanFrom activeAttacker)
        {
            if (_activeAttacker != null)
            {
                _activeAttacker.BackColor = SystemColors.Control;
            }

            AttackPlanFromControl attackerControl = GetControlForAttackPlan(activeAttacker);

            if (attackerControl != null)
            {
                attackerControl.BackColor = SystemColors.ControlDark;
                _activeAttacker           = attackerControl;
                DistanceContainer.ScrollControlIntoView(_activeAttacker);
            }
        }
示例#10
0
 public static AttackUpdateEventArgs AddAttackFrom(AttackPlanFrom attackFrom)
 {
     return(new AttackUpdateEventArgs(new[] { attackFrom }, ActionKind.Add));
 }
示例#11
0
 /// <summary>
 /// Gets the UI control that represents the parameter
 /// </summary>
 private AttackPlanFromControl GetControlForAttackPlan(AttackPlanFrom attacker)
 {
     var attackerControl = DistanceContainer.Controls.OfType<AttackPlanFromControl>().SingleOrDefault(x => x.Attacker == attacker);
     return attackerControl;
 }
示例#12
0
 public AttackEventArgs(AttackPlan plan, AttackPlanFrom attacker)
 {
     Debug.Assert(attacker == null || attacker.Plan == plan);
     Attacker = attacker;
     Plan = plan;
 }
示例#13
0
        /// <summary>
        /// Gets the UI control that represents the parameter
        /// </summary>
        private AttackPlanFromControl GetControlForAttackPlan(AttackPlanFrom attacker)
        {
            var attackerControl = DistanceContainer.Controls.OfType <AttackPlanFromControl>().SingleOrDefault(x => x.Attacker == attacker);

            return(attackerControl);
        }
示例#14
0
 public AttackPlanFromControl AddAttacker(AttackPlanFrom attackFrom)
 {
     var ctl = new AttackPlanFromControl(_unitImageList, attackFrom);
     DistanceContainer.Controls.Add(ctl);
     return ctl;
 }
示例#15
0
 public AttackEventArgs(AttackPlan plan, AttackPlanFrom attacker)
 {
     Debug.Assert(attacker == null || attacker.Plan == plan);
     Attacker = attacker;
     Plan     = plan;
 }
示例#16
0
 public static AttackUpdateEventArgs DeleteAttackFrom(AttackPlanFrom attackFrom)
 {
     return(new AttackUpdateEventArgs(new[] { attackFrom }, ActionKind.Delete));
 }
示例#17
0
 public static AttackUpdateEventArgs UpdateAttackFrom(AttackPlanFrom attackFrom)
 {
     return new AttackUpdateEventArgs(new[] { attackFrom }, ActionKind.Update);
 }
示例#18
0
        public void AttackSelect(object sender, AttackPlanFrom attacker)
        {
            var e = new AttackEventArgs(attacker.Plan, attacker);

            AttackSelect(sender, e);
        }