예제 #1
0
 public override void OnEquipmentAction(Character character, bool isHoldDown)
 {
     if (character.Movement.IsFrozen())
     {
         return;
     }
     if (activeWarpShot == null)
     {
         if (isHoldDown)
         {
             SpawnStillWarpShot(character);
             cantMove = true;
         }
         else
         {
             SpawnMovingWarpShot(character);
         }
     }
     else
     {
         ProjectileBase projectileBase = activeWarpShot.GetComponent <ProjectileBase>();
         if (cantMove && isHoldDown)
         {
             cantMove = false;
             Destroy(projectileBase.gameObject);
             activeWarpShot = null;
         }
         else if (isHoldDown && projectileBase.GetSpeed() > 0)
         {
             originalSpeed = projectileBase.GetSpeed();
             projectileBase.SetSpeed(0);
         }
         else if (isHoldDown && Helper.NearlyEqual(projectileBase.GetSpeed(), 0))
         {
             projectileBase.SetSpeed(originalSpeed);
         }
         else
         {
             WarpToShot();
         }
     }
 }