protected override eRunningState Tick(BevData workData) { ChaBevData thisData = workData as ChaBevData; Vector3 translationRequest; if (thisData.Request_Translation.TryHandle(out translationRequest)) { translationRequest = thisData.Character.transform.rotation * translationRequest * (thisData.isWalking ? thisData.Character.WalkSpeed : thisData.Character.RunSpeed) * Time.deltaTime; //publih this event to character's components thisData.NotifyOtherComponents(new E_Cha_TranslateRequest_XZ(translationRequest)); m_enRunningState = eRunningState.Suceed; return(m_enRunningState); } else { m_enRunningState = eRunningState.Failed; return(m_enRunningState); } }
protected override eRunningState Tick(BevData workData) { ChaBevData thisData = workData as ChaBevData; if (thisData.Request_Yaw.TryHandle(out float reqYaw)) { //publih this event to character's components thisData.NotifyOtherComponents(new E_Cha_YawRequest(reqYaw)); m_enRunningState = eRunningState.Suceed; return(m_enRunningState); } else { m_enRunningState = eRunningState.Failed; return(m_enRunningState); } }
protected override eRunningState Tick(BevData workData) { ChaBevData thisData = workData as ChaBevData; //Check Jump Request if (thisData.Character.MovingType == enMovingType.Walking) { if (thisData.Request_Jump.TryHandle(out bool isJump) && !thisData.isInAir) { thisData.isInAir = true; thisData.NotifyOtherComponents(new E_Cha_JumpUp(thisData.Character.JumpForce)); } m_enRunningState = eRunningState.Suceed; return(eRunningState.Suceed); } else { m_enRunningState = eRunningState.Failed; return(eRunningState.Failed); } }
protected override eRunningState Tick(BevData workData) { ChaBevData thisData = workData as ChaBevData; //Check Jump Request if (thisData.Character.MovingType == enMovingType.suspending) { if (thisData.Request_UpDown.TryHandle(out float _value)) { thisData.isInAir = true; thisData.NotifyOtherComponents(new E_Cha_Suspend(_value)); } m_enRunningState = eRunningState.Suceed; return(eRunningState.Suceed); } else { m_enRunningState = eRunningState.Failed; return(eRunningState.Failed); } }
private void Awake() { m_Root = ChaBevFactory.Instance.ChaAct_Base(); m_Communicator = GetComponent <Communicator>(); m_BevData = new ChaBevData(GetComponent <Character>(), m_Communicator); }