normalpausecommand.cs

来自「嵌入式程序」· CS 代码 · 共 96 行

CS
96
字号
using System;
using DiamondPet.LogicLayer.GameStateRunLogic.Pause;
using DiamondPet.UserLayer;
namespace DiamondPet.LogicLayer.GameStateRunLogic.Pause.PauseCommand.NormalPauseCommand
{
	#region 基类声明
	/// <summary>
	/// NormalPauseCommand 的摘要说明。
	/// </summary>
	public class NormalPauseCommand : PauseCommand
	{
		protected NormalPause curNormalPause;
		public NormalPauseCommand ()
		{
		}
		public NormalPauseCommand ( RunningState gs) : base(gs)
		{
			curNormalPause = gs as NormalPause;
		}
	}
	#endregion
	#region 不同命令状态
	/// <summary>
	/// 按上所触发的命令
	/// </summary>
	public class NormalUpKeyCommand : NormalPauseCommand
	{
		public NormalUpKeyCommand()
		{
		}
		public NormalUpKeyCommand( RunningState gs) : base(gs)
		{
		}
		public override void ExecuteCommand()
		{
			curNormalPause.curSelectMenuIndex --;
			if ( curNormalPause.curSelectMenuIndex == -1 )
			{
				curNormalPause.curSelectMenuIndex = GameConstResource.NormalPauseMenuLength - 1;
			}	
		}
	}
	/// <summary>
	/// 按下所触发的命令
	/// </summary>
	public class NormalDownKeyCommand : NormalPauseCommand
	{
		public NormalDownKeyCommand()
		{
		}
		public NormalDownKeyCommand( RunningState gs) : base(gs)
		{
		}
		public override void ExecuteCommand()
		{
			curNormalPause.curSelectMenuIndex ++;
			if ( curNormalPause.curSelectMenuIndex == GameConstResource.NormalPauseMenuLength)
			{
				curNormalPause.curSelectMenuIndex = 0;
			}
		}
	}
	/// <summary>
	/// 按下enter所触发的命令
	/// </summary>
	public class NormalEnterKeyCommand : NormalPauseCommand
	{
		public NormalEnterKeyCommand(){}
		public NormalEnterKeyCommand( RunningState gs) : base(gs)
		{
		}
		public override void ExecuteCommand()
		{
			switch(curNormalPause.curSelectMenuIndex)
			{
				case NormalPause.RESUME:
					curNormalPause.returnState.Initialize();
                    //重置时间
					this.curNormalPause.runStateManager.gameDate.timeControl.ReAssign(System.Environment.TickCount);
					curNormalPause.runStateManager.ChangeState(curNormalPause.returnState);
					break;
				case NormalPause.EXITCURGAME:
					this.curRunningState.runStateManager.userLayerStateManager.diamondPet.hs.AddNewScore(this.curRunningState.runStateManager.gameDate.gameScore.Score);
					curNormalPause.runStateManager.userLayerStateManager.AnotherChangeState(UserLayerStateManager.GAMESTATESTART);
					break;
				case NormalPause.EXITTOWIN:
					this.curRunningState.runStateManager.userLayerStateManager.diamondPet.hs.AddNewScore(this.curRunningState.runStateManager.gameDate.gameScore.Score);
					curNormalPause.runStateManager.userLayerStateManager.AnotherChangeState(UserLayerStateManager.GAMESTATEOVER);
					break;
			}
		}

	}
	#endregion
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?