Ejemplo n.º 1
0
 private void Awake()
 {
     m_characterControllerReference = GetComponent <CharacterController>();
     m_currentState             = ECharacterState.Moving;
     m_digitalJoystickReference = FindObjectOfType <DigitalJoystick>();
     m_joyButtonReference       = FindObjectOfType <JoyButton>();
     m_animator          = GetComponentInChildren <Animator>();
     m_taggingIdentifier = GetComponent <TaggingIdentifier>();
 }
Ejemplo n.º 2
0
    public void DeactivateController(bool _updateAnimation = false)
    {
        if (_updateAnimation)
        {
            m_animator.SetBool("Hit", true);
        }

        m_characterControllerReference.enabled = false;
        m_currentState = ECharacterState.KnockedBack;
    }
Ejemplo n.º 3
0
 public void ChangeState(ECharacterState nextState, bool forceMode = false)
 {
     if (forceMode == false)
     {
         CurrentState.ExitState();
         _lastState = _currentStateType;
     }
     _currentStateType = nextState;
     CurrentState.EnterState();
     //Debug.Log("Transition from " + LastState + " to " + _currentStateType);
     //Debug.Log("From " + gameObject.name);
 }
Ejemplo n.º 4
0
 public virtual void ReceiveDamage(float damage)
 {
     damage -= m_stat.GetStat.DefensivePoint;
     if (damage <= 0)
     {
         return;
     }
     m_stat.CurrHP -= damage;
     if (m_stat.CurrHP <= 0)
     {
         m_stat.CurrHP = 0;
         State         = ECharacterState.Death;
         m_animator.Play("Death");
     }
 }
Ejemplo n.º 5
0
 public void ReactivateController()
 {
     m_animator.SetBool("Hit", false);
     m_characterControllerReference.enabled = true;
     m_currentState = ECharacterState.Moving;
 }
Ejemplo n.º 6
0
 public void TriggerEndAttackTransition()
 {
     m_currentState = ECharacterState.Moving;
 }
Ejemplo n.º 7
0
 public void TriggerAttackTransition()
 {
     m_currentState = ECharacterState.Attacking;
 }
Ejemplo n.º 8
0
 public void Initialize(ECharacterState state, CharacterController controller)
 {
     _controller = controller;
     _state      = state;
 }
Ejemplo n.º 9
0
    void UpdateCharacterState()
    {
        switch (m_characterState)
        {
        case ECharacterState.NORMAL:
            if (player.state == PlayerCharacterController.DriveState.Damage)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.DAMAGE;
                CharacterStateEnterProcess();
            }
            if (m_isHeal)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.HEAL;
                CharacterStateEnterProcess();
            }

            if (m_isWashChain)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.WASH_CHAIN;
                CharacterStateEnterProcess();
            }
            break;

        case ECharacterState.DAMAGE:
            if (player.state != PlayerCharacterController.DriveState.Damage)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.NORMAL;
                CharacterStateEnterProcess();
            }
            if (m_isHeal)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.HEAL;
                CharacterStateEnterProcess();
            }

            if (m_isWashChain)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.WASH_CHAIN;
                CharacterStateEnterProcess();
            }
            break;

        case ECharacterState.HEAL:
            if (m_changeIconTime < m_controlTime)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.NORMAL;
                CharacterStateEnterProcess();
            }
            if (player.state == PlayerCharacterController.DriveState.Damage)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.DAMAGE;
                CharacterStateEnterProcess();
            }
            if (m_isHeal)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.HEAL;
                CharacterStateEnterProcess();
            }

            if (m_isWashChain)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.WASH_CHAIN;
                CharacterStateEnterProcess();
            }
            break;

        case ECharacterState.WASH_CHAIN:
            if (m_changeIconTime < m_controlTime)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.NORMAL;
                CharacterStateEnterProcess();
            }
            if (player.state == PlayerCharacterController.DriveState.Damage)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.DAMAGE;
                CharacterStateEnterProcess();
            }
            if (m_isHeal)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.HEAL;
                CharacterStateEnterProcess();
            }

            if (m_isWashChain)
            {
                CharacterStateExitProcess();
                m_characterState = ECharacterState.WASH_CHAIN;
                CharacterStateEnterProcess();
            }
            break;

        default:
            break;
        }
    }
Ejemplo n.º 10
0
 public void Initialize(CharacterStateController controller, ECharacterState state)
 {
     _controller = controller;
     _state      = state;
 }