本文整理汇总了C#中GamePlayer.ChangeState_Movement方法的典型用法代码示例。如果您正苦于以下问题:C# GamePlayer.ChangeState_Movement方法的具体用法?C# GamePlayer.ChangeState_Movement怎么用?C# GamePlayer.ChangeState_Movement使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GamePlayer
的用法示例。
在下文中一共展示了GamePlayer.ChangeState_Movement方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Update
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);
}
示例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();
}
}
//.........这里部分代码省略.........