⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 downslowcommand.cs

📁 嵌入式程序
💻 CS
字号:
using System;
using DiamondPet.UserLayer;

namespace DiamondPet.LogicLayer.GameStateRunLogic.DownSlowCommand
{
	#region 基类定义
	/// <summary>
	///  DownSlowCommand 的摘要说明。
	/// </summary>
	public class DownSlowCommand : Command
	{
		protected RunningState curRunningState;
		protected DownSlow curDownSlow;
		public DownSlowCommand()
		{
		}
		public DownSlowCommand( RunningState gs )
		{
			curRunningState = gs;
			curDownSlow = (DownSlow)gs; 
		}
	} 
	#endregion
	#region 不同命令状态
	/// <summary>
	/// 左方向键按下时的命令
	/// </summary>
	public class LeftKeyDownCommand : DownSlowCommand
	{
		#region 构造函数
		public LeftKeyDownCommand (RunningState gs) : base(gs){}
		#endregion
		#region 执行逻辑
		public override void ExecuteCommand()
		{
			if ( curDownSlow.leftKeyDown != true)
			{	
				curDownSlow.leftKeyDown = true;	
				curDownSlow.leftCount = Environment.TickCount - GameConstResource.LeftRightTimeSpan;
				curDownSlow.rightKeyDown = false;
				curDownSlow.rightCount = 0;
			}
		}
		#endregion
	}
	/// <summary>
	/// 左方向键松开时的命令
	/// </summary>
	public class LeftKeyUpCommand : DownSlowCommand
	{
		public LeftKeyUpCommand(RunningState gs) : base(gs){}
		public override void ExecuteCommand()
		{
			curDownSlow.leftKeyDown = false;
			curDownSlow.leftCount = 0;
		}
	}
	/// <summary>
	/// 右方向键按下时的命令
	/// </summary>
	public class RightKeyDownCommand : DownSlowCommand
	{
		public RightKeyDownCommand (RunningState gs) : base(gs){}
		
		public override void ExecuteCommand()
		{
			if ( curDownSlow.rightKeyDown != true)
			{
				curDownSlow.rightKeyDown = true;
				curDownSlow.rightCount = Environment.TickCount - GameConstResource.LeftRightTimeSpan;
				curDownSlow.leftKeyDown = false;
				curDownSlow.leftCount = 0;
			}
		}
	}
	/// <summary>
	/// 右方向键松开时的命令
	/// </summary>
	public class RightKeyUpCommand : DownSlowCommand
	{
		public RightKeyUpCommand( RunningState gs) : base(gs){}
		public override void ExecuteCommand()
		{
			curDownSlow.rightKeyDown = false;
			curDownSlow.rightCount = 0;
		}
	}
	/// <summary>
	/// 下方向键按下时的命令,转换为快下状态
	/// </summary>
	public class DownKeyDownCommand : DownSlowCommand
	{
		public DownKeyDownCommand( RunningState gs) : base(gs){}
		public override void ExecuteCommand()
		{
			curDownSlow.tickLast = 0;
			curDownSlow.rightKeyDown = false;
			curDownSlow.leftKeyDown = false;
			curDownSlow.leftCount = 0;
			curDownSlow.rightCount = 0;
			//改变状态
			curDownSlow.runStateManager.ChangeState( UserLayer.RunStateManager.DOWNFAST );
		}
	}
	/// <summary>
	/// 上方向键按下时的命令,改变形状
	/// </summary>
	public class UpKeyDownCommand : DownSlowCommand
	{
		public UpKeyDownCommand ( RunningState gs) : base(gs){}
		public override void ExecuteCommand()
		{
			curDownSlow.runStateManager.gameDate.curGameItems.TransforItems();
		}
	}
	/// <summary>
	/// 确定键按下时的命令,转换为pause状态
	/// </summary>
	public class EnterKeyDownCommand : DownSlowCommand
	{
		public EnterKeyDownCommand ( RunningState gs) : base(gs){}
		public override void ExecuteCommand()
		{
			curDownSlow.runStateManager.ChangeState( RunStateManager.NORMALPAUSE);
		}
	}
	/// <summary>
	/// 下一道具命令
	/// </summary>
	public class NextPropertyCommand : DownSlowCommand
	{
		public NextPropertyCommand( RunningState gs) : base(gs){}
		public override void ExecuteCommand()
		{
			curDownSlow.runStateManager.gameDate.propertyQueue.MoveNext();
		}

	}
	/// <summary>
	/// 前一道具命令
	/// </summary>
	public class PrePropertyCommand : DownSlowCommand
	{
		public PrePropertyCommand( RunningState gs) : base(gs){}
		public override void ExecuteCommand()
		{
			curDownSlow.runStateManager.gameDate.propertyQueue.MovePre();
		}

	}
	/// <summary>
	/// 使用道具命令
	/// </summary>
	public class UsePropertyCommand : DownSlowCommand
	{
		public UsePropertyCommand ( RunningState gs ) : base(gs){}
		public override void ExecuteCommand()
		{
			object tmp = curDownSlow.runStateManager.gameDate.propertyQueue.FetchObj();
			PropertyObject gp;
			if ( tmp != null && tmp is PropertyObject)
			{
				gp = tmp as PropertyObject;
				gp.UseProperty(curDownSlow);
			}
		}
	}
	#endregion
    	
	}

⌨️ 快捷键说明

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