Пример #1
0
        /// <summary>
        /// Resolves spell activation on given node
        /// </summary>
        /// <param name="message"></param>
        private void ResolveSpellActivation(MatchMessageSpellActivated message)
        {
            ISpell spell = GetNonactiveSpellOfType(message.SpellType);

            _nonactiveSpells.Remove(spell);
            _activeSpells.Add(spell);

            spell.OnHide += HideSpell;

            spell.Show(GameManager.Instance.Nodes[message.NodeX, message.NodeY]);

            List <Unit> impactedUnits = new List <Unit>();

            foreach (int unitId in message.ImpactedUnitsIds)
            {
                impactedUnits.Add(UnitsManager.Instance.GetUnit(unitId));
            }

            spell.MakeImpactOnUnits(impactedUnits);
        }