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

📄 mapeditorremoting.cs

📁 gamecode 很不错的小游戏源代码
💻 CS
字号:
using System;
using System.Drawing;

namespace MapEditor
{
	/// <summary>
	/// MapEditorRemoting 是注册在信道中的用于远程通信的类
	/// </summary>
	public class MapEditorRemoting:System.MarshalByRefObject
	{
		public MapEditorRemoting()
		{
			//
			// TODO: 在此处添加构造函数逻辑
			//
		}

		/// <summary>
		/// 检查该点是否可以画图
		/// </summary>
		/// <param name="i">该点坐标i</param>
		/// <param name="j">该点坐标j</param>
		/// <param name="mapState">该点的地图信息</param>
		/// <returns>可以返回true,否则返回false</returns>
		public bool CheckIt(int i,int j,MapState mapState)
		{
			//有无takeup或shownumber
			if(MainEntry.theForm.Map[i,j].imageIndex == FormMain.TakeUP
				|| MainEntry.theForm.Map[i,j].imageIndex == FormMain.ShowNumber)
			{
				return false;
			}
			if(MainEntry.theForm.Map[i,j].fileIndex == 1)
			{
				if(MainEntry.theForm.Map[i,j].imageIndex <= 8)
				{
					return false;
				}
			}
			if(CheckClass.CheckIfHasPlayer(i,j))
			{
				return false;
			}
			//有无玩家
			for(int t = 0;t < 4;t++)
			{
				if(MainEntry.theForm.PlayerState[t].x == i
					&& MainEntry.theForm.PlayerState[t].y == j)
				{
					return false;
				}
			}
			return true;
		}

		/// <summary>
		/// 在服务方画图
		/// </summary>
		/// <param name="i">该点坐标i</param>
		/// <param name="j">该点坐标j</param>
		/// <param name="mapState">该点的地图信息</param>
		public void DrawInServer(int i,int j,MapState mapState)
		{
			MainEntry.theForm.Map[i,j].imageIndex = mapState.imageIndex;
			MainEntry.theForm.Map[i,j].fileIndex= mapState.fileIndex;

			Size scrollOffset = new Size(MainEntry.theForm.PanelMap.AutoScrollPosition);

			Graphics g = MainEntry.theForm.PanelMap.CreateGraphics();
			//int ii = (x - MainEntry.theForm.PanelMap.AutoScrollPosition.X) / 32;
			//int jj = (y - MainEntry.theForm.PanelMap.AutoScrollPosition.Y) / 32;
			if(mapState.fileIndex == 0)
			{
				g.DrawImage(MainEntry.theForm.ImageListSmall.Images[mapState.imageIndex]/*DragSource.thisControl.Image*/,i * 32 + scrollOffset.Width,j * 32 + scrollOffset.Height);
			}
			else
			{
				g.DrawImage(MainEntry.theForm.ImageListBig.Images[mapState.imageIndex]/*DragSource.thisControl.Image*/,i * 32 + scrollOffset.Width,j * 32 + scrollOffset.Height);
			}
			//MainEntry.theForm.Map[ii,jj].imageIndex = DragSource.thisControl.ImageIndex;
			//MainEntry.theForm.Map[ii,jj].fileIndex = DragSource.thisControl.FileIndex;
			g.Dispose();
		}

		/// <summary>
		/// 从主机获取地图信息
		/// </summary>
		/// <returns></returns>
		public MapState[,] GetMapInfo()
		{
			return MainEntry.theForm.Map;
		}
	}
}

⌨️ 快捷键说明

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