public void command(string text) { Debug.WriteLine(text); string[] param; try { param = text.Split(' '); param[0] = param[0].ToLower(); if (param[0] == "!edit") { if (Game1.currentGamestate != GameState.Editor) { Game1.currentGamestate = GameState.Editor; Game1.UI_Margin = new Rectangle(editor.TileSelectorBackground.Width, 0, 0, 0); } else { Game1.currentGamestate = GameState.Running; Game1.UI_Margin = new Rectangle(0, 0, 0, 0); } chat.changeResolution(); inv.UpdateResolution(); } if (param[0] == "!map") { level.ChangeMap(Int32.Parse(param[1])); } if (param[0] == "!uiscale") { Global.UIScale = float.Parse(param[1]); } if (param[0] == "!give") { inv.AddItem(Int32.Parse(param[1]), Int32.Parse(param[2])); } if (param[0] == "!sethp") { level.getClientPlayer().Health = Int32.Parse(param[1]); } if (param[0] == "!setname") { level.getClientPlayer().name = param[1]; } if (param[0] == "!changemenu") { menu.changeMenu(Int32.Parse(param[1])); } if (param[0] == "!drunk") { command("!addeffect 0 1000"); } if (param[0] == "!portal") { command("!addeffect 1 100"); } if (param[0] == "!settime") { Global.time.CurrentTime = float.Parse(param[1]); } if (param[0] == "!setvolume") { Global.sound.MasterVolume = float.Parse(param[1]); } if (param[0] == "!hb") { Global.showHitboxes = bool.Parse(param[1]); } if (param[0] == "!traffic") { Global.chat.WriteLine(new ChatMessage("Network", " " + netcode.NetCode.RecievingBytesPerSecond + " bytes per Second")); } if (param[0] == "!addeffect") { effectmanager.addEffect(Int32.Parse(param[1]), Int32.Parse(param[2])); } if (param[0] == "!chat") { string say = ""; for (int i = 2; i < param.Length; i++) { say += param[i] + " "; } if (param[2].Length > 0) { chat.WriteLine(new ChatMessage(param[1], say)); } } if (param[0] == "!close") { chat.Open = false; menu.Open = false; } if (param[0] == "!exit") { command("!disconnect"); game.Exit(); } if (param[0] == "!tp") { level.getClientPlayer().Position = new Vector2(Int32.Parse(param[1]), Int32.Parse(param[2])); } if (param[0] == "!searchlocalservers") { for (int i = 0; i < netcode.NetCode.localServers.Count; i++) { netcode.NetCode.Config.EnableMessageType(NetIncomingMessageType.DiscoveryResponse); } netcode.NetCode.Client.DiscoverLocalPeers(25232); } if (param[0] == "!addserver") { netcode.NetCode.servers.Add(new graphics.ui.menu.components.ListMenuElement("Unknown", param[1], "0/0")); } if (param[0] == "!angle") { Global.camera.Rotation = float.Parse(param[1]); } if (param[0] == "!connect") { command("!close"); netcode.NetCode.Connect(param); } if (param[0] == "!disconnect") { if (Game1.online) { netcode.NetCode.Disconnect(param); } } if (param[0] == "!changeresolution") { game.ChangeResolution(Int32.Parse(param[1]), Int32.Parse(param[2])); } //ADDITIONAL DEV COMMANDS } catch (Exception e) { Global.chat.WriteLine(new ChatMessage("ERROR", Color.DarkRed, "Wrong Input Syntax!", Color.White)); Debug.WriteLine(e); } if (Game1.currentGamestate == GameState.Editor) { param = text.Split(' '); //param[0] = param[0].ToLower(); try { editor.cmd(param); }catch (Exception b) { Debug.Write(b.ToString()); } } }