public override void Update(GameTime deltaTime, GamePlayer player) { // Change back to idle state player.ChangeState_Idle(); // MAKE sure this is after changing state base.Update(deltaTime, player); }
public override void Update(GameTime deltaTime, GamePlayer player) { // Switch back to the movement state after 2 seconds float elapsedTime = (float)deltaTime.ElapsedGameTime.TotalSeconds; if ( (m_JumpTime -= elapsedTime) <= 0.0f ) { // If there is any movement left then switch to the movement state if (player.CurrentDiceRoll != 0) { // Move to the next square and continue movement code as normal player.MoveToNextSquare(); player.ChangeState_Movement(); } else player.ChangeState_Idle(); } // MAKE sure this is after changing state base.Update(deltaTime, player); }
public override void Update(GameTime deltaTime, GamePlayer player) { bool changeState = true; TutorialManager tutorials = TutorialManager.Instance; if (player.ActivePawn != null) { BoardSquare current = player.ActivePawn.CurrentSquare; if (current != null) { if (!tutorials.HasTutorialBeenShown(TutorialStage.StartTutorial)) { // If the camera is stationary if (CameraManager.Instance.ActiveCamera != null) { if (!CameraManager.Instance.ActiveCamera.Tween) { // Show start tutorial tutorials.ShowTutorial(TutorialStage.StartTutorial, Vector3.Zero, UIManager.TextureAlignment.eTopLeft); } } // Set not to change state this cycle changeState = false; } else if (current.GetType().IsSubclassOf(typeof(ArithmeticSquare))) { if ( !tutorials.HasTutorialBeenShown(TutorialStage.ArithmeticSquares) ) { // If the camera is stationary if (CameraManager.Instance.ActiveCamera != null) { if (!CameraManager.Instance.ActiveCamera.Tween) { // Show start tutorial tutorials.ShowTutorial(TutorialStage.ArithmeticSquares, Vector3.Zero, UIManager.TextureAlignment.eTopLeft); } } // Set not to change state this cycle changeState = false; } } else if (current.GetType() == typeof(IfSquare)) { if (!tutorials.HasTutorialBeenShown(TutorialStage.IfSquare)) { // If the camera is stationary if (CameraManager.Instance.ActiveCamera != null) { if (!CameraManager.Instance.ActiveCamera.Tween) { // Show start tutorial tutorials.ShowTutorial(TutorialStage.IfSquare, Vector3.Zero, UIManager.TextureAlignment.eTopLeft); } } // Set not to change state this cycle changeState = false; } } else if (current.GetType() == typeof(WhileSquare)) { if (!tutorials.HasTutorialBeenShown(TutorialStage.WhileSquare)) { // If the camera is stationary if (CameraManager.Instance.ActiveCamera != null) { if (!CameraManager.Instance.ActiveCamera.Tween) { // Show start tutorial tutorials.ShowTutorial(TutorialStage.WhileSquare, Vector3.Zero, UIManager.TextureAlignment.eTopLeft); } } // Set not to change state this cycle changeState = false; } } else if (current.GetType() == typeof(SwitchSquare)) { if (!tutorials.HasTutorialBeenShown(TutorialStage.SwitchSquare)) { // If the camera is stationary if (CameraManager.Instance.ActiveCamera != null) { if (!CameraManager.Instance.ActiveCamera.Tween) { // Show start tutorial tutorials.ShowTutorial(TutorialStage.SwitchSquare, Vector3.Zero, UIManager.TextureAlignment.eTopLeft); } } // Set not to change state this cycle changeState = false; } } } } if (changeState) { // Change back to idle state player.ChangeState_Idle(); } // MAKE sure this is after changing state base.Update(deltaTime, player); }