public override void OnEnter(GamePlayer player) { base.OnEnter(player); if (player.Selected) { // Zoom camera out player.ZoomOut(); } m_WaitRollTime = 0.0f; if (player.Control == Player.PlayerControl.AI) { // Selected play code only if (player.Selected) { if ((player.Pawns.Count - player.PawnsAtEnd) > 1) { int randomNum = RandomHelper.m_RandomGenerator.Next(0, 101); if (randomNum <= 20) player.FocusNextPawn(); } } m_WaitRollTime = m_WaitRollTimeReset; } }
public override void OnEnter(GamePlayer player) { base.OnEnter(player); // Zoom camera out player.ZoomOut(); // Not celebrated yet player.ActivePawn.ShowReachedEnd(); }
public override void Update(GameTime deltaTime, GamePlayer player) { if (player.PreDecisionRoll == 0) { if (player.Dice != null) { // If the dice has stopped rolling if (player.Dice.IsStationary()) { // Calculate the dice roll number and generate roll data // Get the dice roll and then take the square stats into account to determine the final // dice roll value player.PreDecisionRoll = player.Dice.FindResult(); // Get the square decision data player.GenerateDecisionData(); // Focus the camera back onto the player PlayerManager.Instance.SetCameraFocus(player.Index); // Zoom out player.ZoomOut(); // Move to the zoom camera state //player.CameraZoom = true; // Remove player ui objects ( for now all of them here ) //player.RemoveUIInterfaceObjects(); // Change to pre movement state player.ChangeState_PreMovement(); } // Show selected effect player.ActivePawn.ShowSelected(); } } // MAKE sure this is after changing state base.Update(deltaTime, player); }
public override void OnEnter(GamePlayer player) { base.OnEnter(player); // Show the player texture to say it is a new turn float width = RenderManager.Instance.GraphicsDevice.Viewport.Width; float height = RenderManager.Instance.GraphicsDevice.Viewport.Height; float xPos = (width * 0.5f); float yPos = (height * 0.25f); float border = 15.0f; // Select first pawn in collection by default if (player.Pawns.Count > 0) { int pawnsLeft = (player.Pawns.Count - player.PawnsAtEnd); int index = 0; if (player.Control != Player.PlayerControl.AI) { // If more then one game pawn being used ( TODO ) if (pawnsLeft > 1) { // Add game pawn selectors ( Minimum of one String gamePawn1 = player.GetUIInterfaceObjectName(GamePlayer.UIInterfaceObject.Pawn1); UIManager.Instance.AddUIObject(gamePawn1, new Vector3(border, (height * 0.5f), 0.0f), UIManager.TextureAlignment.eCenterLeft); if (player.Pawns.Count > 1) { String gamePawn2 = player.GetUIInterfaceObjectName(GamePlayer.UIInterfaceObject.Pawn2); UIManager.Instance.AddUIObject(gamePawn2, new Vector3((width - border), (height * 0.5f), 0.0f), UIManager.TextureAlignment.eCenterRight); } } // Bring up roll dice image String rollDice = player.GetUIInterfaceObjectName(GamePlayer.UIInterfaceObject.RollDice); UIManager.Instance.AddUIObject(rollDice, new Vector3((width * 0.5f), height, 0.0f), UIManager.TextureAlignment.eCenterBottom); } // Get the index of the pawn last selected if (player.ActivePawn != null) { if ((player.ActivePawn.CurrentSquare != null) && (player.ActivePawn.CurrentSquare.GetType() != typeof(EndSquare))) index = player.Pawns.IndexOf(player.ActivePawn); else { foreach (GamePawn pawn in player.Pawns) { // Find the next pawn that isn't at the end square if (pawn.CurrentSquare != null) { if (pawn.CurrentSquare.GetType() != typeof(EndSquare)) index = player.Pawns.IndexOf(pawn); } } } } // Set pawn index player.SetActivePawn(index); } else player.SetActivePawn(-1); // Set camera focus PlayerManager.Instance.SetCameraFocus(player.Index); // Generate a new camera modifier player.GenerateCameraModifier(false); // Zoom camera out player.ZoomOut(); // Set selected player.Selected = true; // Focus player indicator player.FocusUIInterfaceObject(GamePlayer.UIInterfaceObject.PlayerIndicator); if ( player.PawnsAtEnd > 0 ) player.FocusUIInterfaceObject(GamePlayer.UIInterfaceObject.PlayerIndicator2); if (player.PawnsAtEnd > 1) player.FocusUIInterfaceObject(GamePlayer.UIInterfaceObject.PlayerIndicator3); // Check if the game players current square is the start square or not. // If it is, then show tutorial 1 if it hasn't already. if (player.ActivePawn != null) { TutorialManager tutorials = TutorialManager.Instance; if (!tutorials.HasTutorialBeenShown(TutorialStage.StartTutorial)) player.ZoomInHalfWay(); /* if (player.ActivePawn.CurrentSquare != null) { Type squareType = player.ActivePawn.CurrentSquare.GetType(); if (squareType == typeof(StartSquare)) { } }*/ } }