Пример #1
0
        public void Build(BaseCombatant combatant)
        {
            Clear();

            CurrentCombatant = combatant;
            IEnumerator<Spell> spells = CurrentCombatant.SpellPanoply.GetEnumrator();
            while (spells.MoveNext())
                AddSpellItem(spells.Current);
        }
Пример #2
0
 public CombatCombatantEventArgs(BaseCombatant combatant)
     : base()
 {
     Combatant = combatant;
 }
Пример #3
0
        bool RemoveCombatant(BaseCombatant combatant)
        {
            CallOnCombatantLeaving(combatant);
            return Combatants.Remove(combatant);

            combatant.OnMove -= new CombatantMoveEventHandler(combatant_OnMove);
        }
Пример #4
0
 void combatant_OnMove(BaseCombatant sender, CombatantMoveEventArgs e)
 {
     CellSet.GetCell(e.OldCellPosition).RemoveCombatant(sender);
     CellSet.GetCell(e.CellPosition).AddCombatant(sender);
 }
Пример #5
0
 bool CallOnCombatantLeaving(BaseCombatant combatant)
 {
     if (OnCombatantLeaving == null) return false; OnCombatantLeaving(this, new CombatCombatantEventArgs(combatant)); return true;
 }
Пример #6
0
        void AddCombatant(BaseCombatant combatant)
        {
            CallOnCombatantJoining(combatant);
            Combatants.Add(combatant);

            combatant.OnMove += new CombatantMoveEventHandler(combatant_OnMove);
        }
Пример #7
0
        public void ChangeTurn()
        {
            if (CurrentCombatant != null)
                CallOnCombatantStopTurning();

            CurrentCombatant = CombatantOrder.GetNextAliveCombat();

            CallOnCombatantStartTurning();
        }
Пример #8
0
 public bool RemoveCombatant(BaseCombatant combatant)
 {
     return Combatants.Remove(combatant);
 }
Пример #9
0
 public void AddCombatant(BaseCombatant combatant)
 {
     Combatants.Add(combatant);
 }
Пример #10
0
            public CMoveInfo(BaseCombatant combatant)
            {
                Combatant = combatant;

                Moves = new Queue<Vector2I>();
                MovePoints = new Queue<Vector2I>();

                PointIsReached = true;
            }