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>(); }
public void DeactivateController(bool _updateAnimation = false) { if (_updateAnimation) { m_animator.SetBool("Hit", true); } m_characterControllerReference.enabled = false; m_currentState = ECharacterState.KnockedBack; }
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); }
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"); } }
public void ReactivateController() { m_animator.SetBool("Hit", false); m_characterControllerReference.enabled = true; m_currentState = ECharacterState.Moving; }
public void TriggerEndAttackTransition() { m_currentState = ECharacterState.Moving; }
public void TriggerAttackTransition() { m_currentState = ECharacterState.Attacking; }
public void Initialize(ECharacterState state, CharacterController controller) { _controller = controller; _state = state; }
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; } }
public void Initialize(CharacterStateController controller, ECharacterState state) { _controller = controller; _state = state; }