public override void Reason(GameObject[] gameObjects) { if (!mIsRun) //如果当前没有在移动 { Fsm.PerformTransition(Transition.ReadytoWalk); //进入IdleState } if (MYXZInput.GetKeyDown(KeyCode.Space)) { Fsm.PerformTransition(Transition.ReadytoJump); //进入JumpState } }
void Update() { Player.Update(); if (MYXZInput.GetKeyDown(KeyCode.Escape)) { EscSignal.Dispatch(); } if ((this.Player.PlayerFsm.CurrentStateID == StateID.IdleState || this.Player.PlayerFsm.CurrentStateID == StateID.WalkState) && MYXZInput.GetMouseButtonDown(0)) { TryToTalk(); } // WeatherSystem.SetDate(12, 12, 2018); // WeatherSystem.ChangeWeatherInstant(12); }
public override void Reason(GameObject[] gameObjects) { if (MYXZInput.GetKey(KeyCode.A) || MYXZInput.GetKey(KeyCode.W) || MYXZInput.GetKey(KeyCode.S) || MYXZInput.GetKey(KeyCode.D)) //如果玩家按下了移动键 { this.Fsm.PerformTransition(Transition.ReadytoWalk); //进入WalkState } if (mCharacter.IsTalking) //如果玩家正在谈话 { this.Fsm.PerformTransition(Transition.ReadytoChat); //进入ChatState } if (MYXZInput.GetKeyDown(KeyCode.Space)) { Fsm.PerformTransition(Transition.ReadytoJump); //进入JumpState } }
public override void Reason(GameObject[] gameObjects) { if (!mIsWalk) //如果当前没有在移动 { Fsm.PerformTransition(Transition.ReadytoIdle); //进入IdleState } if (mCharacter.IsTalking) //如果Player当前正在交谈 { Fsm.PerformTransition(Transition.ReadytoChat); //进入ChatState } if (MYXZInput.GetKeyDown(KeyCode.Space)) { Fsm.PerformTransition(Transition.ReadytoJump); //进入JumpState } if (MYXZInput.GetKey(KeyCode.LeftShift)) { Fsm.PerformTransition(Transition.ReadytoRun);//进入RunState } }