public void FreeCastSlot(CastSlot castSlot) { IdleCastSlots.Add(castSlot); BusyCastSlots.Remove(castSlot); if (castSlot == ActiveCastSlot) { ActiveCastSlot = null; } }
public void FirstTap(Button button) { if (!ActiveCastSlot) { MAGIC.I.Fail(MAGIC.FailureCondition.NoCastSlot); button.Clear(true); } else { Debug.Log($"First Tap: {button.ToString()}"); BusyCastSlots.Add(ActiveCastSlot); IdleCastSlots.Remove(ActiveCastSlot); ActiveCastSlot = null; } }
public void MultiTap(Button button, int tapCount, Vector3 dir) { Debug.Log($"Multi-Tap: {button.ToString()} (x{tapCount}) => {ARENA.I.GetTargetZone(dir).name}"); LastSpellCast = Instantiate(Spells[button.ButtonName], BusyCastSlots.Last().transform, false); LastSpellCast.CastAtZone(ARENA.I.GetTargetZone(dir), tapCount, false); }
public void StartHold(Button button, int tapCount, Vector3 dir) { Debug.Log($"Start Hold: {button.ToString()} (x{tapCount})"); LastSpellCast = Instantiate(Spells[button.ButtonName], BusyCastSlots.Last().transform, false); LastSpellCast.CastAtZone(ARENA.I.GetTargetZone(dir), tapCount, true); }