/// <summary> /// 设置球员串 /// </summary> /// <returns></returns> public string SetPlayerString() { PlayerString = ""; foreach (var i in PlayerList) { PlayerString += i + ","; } PlayerString = PlayerString.Substring(0, PlayerString.Length - 1); return(PlayerString); }
public void SetPlayerList() { _playerList = new List <int>(); if (PlayerString.Length > 0) { var p = PlayerString.Split(','); foreach (var s in p) { var playerId = ConvertHelper.ConvertToInt(s); _playerList.Add(playerId); } } }
public Level(ContentManager GameContent, Game game, string LevelNameString, string LevelDirectory, string[] PlayerStrings, bool AllWeaponEnabled) { LevelName = LevelNameString; EnabledWeapons = AllWeaponEnabled; Content = GameContent; Console.WriteLine("Initializing level"); game.MainWindow.MouseEventButtonDownLeft += new GameWindow.MouseEventHandler(PlayerManager.MouseClickDownLeft); game.MainWindow.MouseEventButtonUpLeft += new GameWindow.MouseEventHandler(PlayerManager.MouseClickUpLeft); game.MainWindow.MouseEventButtonDownRight += new GameWindow.MouseEventHandler(PlayerManager.MouseClickDownRight); game.MainWindow.MouseEventButtonUpRight += new GameWindow.MouseEventHandler(PlayerManager.MouseClickUpRight); game.MainWindow.MouseEventWheelUp += new GameWindow.MouseEventHandler(PlayerManager.MouseWheelUp); game.MainWindow.MouseEventWheelDown += new GameWindow.MouseEventHandler(PlayerManager.MouseWheelDown); ResourceManager.LoadResources(Content); LoadConfiguration(Path.Combine(LevelDirectory, LevelNameString)); using (FileStream fileStream = new FileStream(Path.Combine(new string[] { LevelDirectory, LevelNameString, "Level" }) + ".png", FileMode.Open)) { Ground = Texture2D.FromStream(game.GraphicsDevice, fileStream); } GroundData = new Color[Ground.Width * Ground.Height]; Ground.GetData <Color>(GroundData); PlayerManager.Level = this; // Parse players foreach (var PlayerString in PlayerStrings) { if (string.IsNullOrEmpty(PlayerString)) { continue; } Player NewPlayer = new Player(PlayerManager); NewPlayer.Type = Player.PlayerType.Local; string[] Params = PlayerString.Substring(PlayerString.IndexOf('(') + 1, PlayerString.IndexOf(')') - PlayerString.IndexOf('(') - 1).Split(';'); foreach (var Param in Params) { if (Param.StartsWith("name=")) { NewPlayer.Name = Param.Substring(Param.IndexOf('=') + 1); } else if (Param.StartsWith("color=")) { string[] ColorString = Param.Substring(Param.IndexOf('=') + 1).Split(','); NewPlayer.Color = new Microsoft.Xna.Framework.Color(int.Parse(ColorString[0]), int.Parse(ColorString[1]), int.Parse(ColorString[2])); } else if (Param.StartsWith("mouse=")) { IntPtr MouseHandle = (IntPtr)int.Parse(Param.Substring(Param.IndexOf('=') + 1)); NewPlayer.LocalMouse = GameWindow.Instance.Mouses[MouseHandle]; } else if (Param.StartsWith("keyboard=")) { string KeyString = Param.Substring(Param.IndexOf('=') + 1); if (KeyString.StartsWith("W")) { NewPlayer.LocalMoveLeft = Keys.A; NewPlayer.LocalMoveRight = Keys.D; NewPlayer.LocalJump = Keys.W; NewPlayer.LocalShoot = Keys.R; } else if (KeyString.StartsWith("Up")) { NewPlayer.LocalMoveLeft = Keys.Left; NewPlayer.LocalMoveRight = Keys.Right; NewPlayer.LocalJump = Keys.Up; NewPlayer.LocalShoot = Keys.Down; } } else if (Param.StartsWith("weapons=")) { // NYI } } PlayerManager.AddPlayer(NewPlayer); } }