public void ProcessGesture(GestureType gestureType) { if (usingSpecialSkill && gestureType == gesturesToMatch.Peek()) { GestureActiveSet?.Invoke(GestureCount - gesturesToMatch.Count, false); gesturesToMatch.Dequeue(); if (gesturesToMatch.Count == 0) { usingSpecialSkill = false; tweener?.Kill(); TimerFilled?.Invoke(0f); SpecialSkillApplied?.Invoke(); } } if (gestureType >= GestureType.Circle) { if (usingSpecialSkill == false) { SkillDrawn?.Invoke(gestureType); } } else { GestureDrawn?.Invoke(gestureType); // TODO: 몬스터 제거 시 발동으로 바꿔야 함 SpecialSkillLevel.UpdateLevel(1); } }
public void Activate() { if (PlayerCharacterController.Instance.Sp < SpCost) { throw new NotEnoughSpException("The player character's SP is not enough"); } // TODO: 플레이어 제외 시간 50% 느려짐. (BGM도 느려짐) SpecialSkillLevel.UpdateLevel(3); }
public void Activate() { if (PlayerCharacterController.Instance.Sp < SpCost) { throw new NotEnoughSpException("The player character's SP is not enough"); } if (PlayerCharacterController.Instance.IsFullHp) { throw new SkillCannotBeUsedException("The player character's HP is full"); } PlayerCharacterController.Instance.Heal(50); SpecialSkillLevel.UpdateLevel(2); }
public void Activate() { if (PlayerCharacterController.Instance.Sp < SpCost) { throw new NotEnoughSpException("The player character's SP is not enough"); } // TODO: 조건을 몬스터가 필드에 없을 때로 변경 if (false) { throw new SkillCannotBeUsedException("There are no monsters on the field"); } // TODO: 필드 위 랜덤 몬스터 4마리 3초 기절 SpecialSkillLevel.UpdateLevel(3); }