本文整理汇总了C#中GamePlayer.MoveToNextSquare方法的典型用法代码示例。如果您正苦于以下问题:C# GamePlayer.MoveToNextSquare方法的具体用法?C# GamePlayer.MoveToNextSquare怎么用?C# GamePlayer.MoveToNextSquare使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GamePlayer
的用法示例。
在下文中一共展示了GamePlayer.MoveToNextSquare方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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
//.........这里部分代码省略.........
{
if (!tutorials.HasTutorialBeenShown(TutorialStage.SwitchSquare))
{
// Show start tutorial
tutorials.ShowTutorial(TutorialStage.SwitchSquare, Vector3.Zero, UIManager.TextureAlignment.eTopLeft);
}
}
if (current.QuestionSquare)
{
// If it is the first question and they are passing it,
// fire a first question passed event and show the first question
// tutorial.
if (current.FirstQuestionSquare && !current.FirstQuestionPassed)
{
FirstQuestionPassedEvent firstQuestionEvent = new FirstQuestionPassedEvent();
firstQuestionEvent.Fire();
// Question tutorial
if (!tutorials.HasTutorialBeenShown(TutorialStage.Questions))
{
// Show start tutorial
tutorials.ShowTutorial(TutorialStage.Questions, Vector3.Zero, UIManager.TextureAlignment.eTopLeft);
}
}
}
}
if (player.CurrentDiceRoll > 0)
{
// Decrease the dice roll
player.CurrentDiceRoll--;
if (player.CurrentDiceRoll != 0)
{
player.Data = new BoardSquare.DecisionData();
if ((current.GetType() == typeof(IfSquare) || (current.GetType() == typeof(WhileSquare))))
player.Data = current.Decision(player.PreDecisionRoll);
// If not default route, switch to the jump state briefly
if (player.Data.route != BoardSquare.Route.eDefault)
player.ChangeState_Jump();
else
{
player.MoveToNextSquare();
}
}
else
{
// Check if this square is a question
// ( if so they have landed on it and have a chance to go a bit further )
if (current.QuestionSquare)
{
// Change to the question state
player.ChangeState_Question();
}
else
{
player.ChangeState_EndOfTurn();
}
}
}
else if (player.CurrentDiceRoll < 0)
{
// Decrease the dice roll
player.CurrentDiceRoll++;
if (player.CurrentDiceRoll != 0)
{
//player.Data = new BoardSquare.DecisionData();
//if ((player.ActivePawn.CurrentSquare.GetType() == typeof(IfSquare) || (player.ActivePawn.CurrentSquare.GetType() == typeof(WhileSquare))))
//player.Data = player.ActivePawn.CurrentSquare.Decision(player.CurrentDiceRoll);
// Then it is at the end of the set spline/
// ( for now run the next square code again )
player.MoveToPreviousSquare();
}
else
{
player.ChangeState_EndOfTurn();
}
}
else
{
if (player.ActivePawn.CurrentSquare.GetType() != typeof(EndSquare))
player.ChangeState_EndOfTurn();
else
player.ChangeState_EndOfBoard();
}
}
// Show trail particles
player.ActivePawn.ShowTrail();
}
// MAKE sure this is after changing state
base.Update(deltaTime, player);
}
示例3: 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();
}
}
//.........这里部分代码省略.........