本文整理汇总了C#中GamePlayer.GenerateCameraModifier方法的典型用法代码示例。如果您正苦于以下问题:C# GamePlayer.GenerateCameraModifier方法的具体用法?C# GamePlayer.GenerateCameraModifier怎么用?C# GamePlayer.GenerateCameraModifier使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GamePlayer
的用法示例。
在下文中一共展示了GamePlayer.GenerateCameraModifier方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnEnter
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))
//.........这里部分代码省略.........
示例2: Update
public override void Update(GameTime deltaTime, GamePlayer player)
{
if (player.ActivePawn != null)
{
if (player.CurrentDiceRoll == 0)
{
BaseCamera camera = CameraManager.Instance.ActiveCamera;
if (!camera.Tween)
{
if (camera.GetType().IsSubclassOf(typeof(Camera3D)))
{
if (camera.GetType() == typeof(FixedThirdPersonCamera))
{
FixedThirdPersonCamera fixedCamera = (camera as FixedThirdPersonCamera);
float zoomDistance = fixedCamera.GetDistanceFromDesiredZoom();
if ((zoomDistance <= 50.0f) && (zoomDistance >= -50.0f))
{
/* Begin the pawn moving */
// Save the dice roll determined
player.OriginalDiceRoll = player.CurrentDiceRoll = player.Data.diceRoll;
// Display text in 3D
Color textColor = Color.Yellow;
String rollText = "";
if (player.CurrentDiceRoll > 0)
{
rollText = "+";
textColor = Color.ForestGreen;
}
else if (player.CurrentDiceRoll < 0)
{
rollText = "-";
textColor = Color.OrangeRed;
}
rollText += player.CurrentDiceRoll.ToString();
if (player.CurrentDiceRoll != 1)
rollText += " Squares";
else
rollText += " Square";
String colorText = "red";
if (player.Color == GamePlayer.PlayerColor.Blue)
colorText = "blue";
// Add text to it
colorText += "text";
// Add text
UIManager.Instance.AddText3DObject(colorText, rollText, (player.ActivePawn.transform.Position + new Vector3(0, +10, 0)), textColor, 1.5f);
//UIManager.Instance.AddText3DObject(colorText + "outline", rollText, (player.ActivePawn.Position + new Vector3(-0.05f, +10, -0.05f)), Color.White, 2.05f);
// Generate a new camera modifier
player.GenerateCameraModifier(true);
if (player.CurrentDiceRoll != 0)
{
// Move to the next square assuming the dice roll returned grater than 0 ( should do )
if (player.CurrentDiceRoll > 0)
{
// Check whether to go to the jump state first or not
if (player.Data.route != BoardSquare.Route.eDefault)
player.ChangeState_Jump();
else
{
player.MoveToNextSquare();
// Swap to movement state
player.ChangeState_Movement();
}
}
else
{
player.MoveToPreviousSquare();
// Swap to movement state
player.ChangeState_Movement();
}
}
else
{
if (player.ActivePawn.CurrentSquare.GetType() != typeof(EndSquare))
player.ChangeState_EndOfTurn();
else
player.ChangeState_EndOfBoard();
}
}
}
}
}
else
player.ActivePawn.ShowSelected();
}
}
//.........这里部分代码省略.........