示例#1
0
文件: PLAYER.cs 项目: Eunomiac/HEX
 public void FreeCastSlot(CastSlot castSlot)
 {
     IdleCastSlots.Add(castSlot);
     BusyCastSlots.Remove(castSlot);
     if (castSlot == ActiveCastSlot)
     {
         ActiveCastSlot = null;
     }
 }
示例#2
0
文件: PLAYER.cs 项目: Eunomiac/HEX
 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;
     }
 }
示例#3
0
文件: PLAYER.cs 项目: Eunomiac/HEX
 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);
 }
示例#4
0
文件: PLAYER.cs 项目: Eunomiac/HEX
 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);
 }