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);
        }
    }
Example #2
0
    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);
    }
Example #3
0
    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);
    }
Example #4
0
    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);
    }