/// <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); }