public override void Start() { base.Start(); SpaceWar2006.GameSystem.Mod.Instance.Init(); int i; if ((i = Array.FindIndex<string>(Root.Instance.Args, new Predicate<string>(delegate(string s) { return s == "-password"; }))) != -1) { string password = Root.Instance.Args[i + 1]; Root.Instance.ClientPassword = password; } if ((i = Array.FindIndex<string>(Root.Instance.Args, new Predicate<string>(delegate(string s) { return s == "-connect"; }))) != -1) { string host = Root.Instance.Args[i + 1]; Game g = new Game(host, null, false, false); Root.Instance.CurrentFlow = g; g.Start(); return; } if ((i = Array.FindIndex<string>(Root.Instance.Args, new Predicate<string>(delegate(string s) { return s == "-spectate"; }))) != -1) { string host = Root.Instance.Args[i + 1]; Game g = new Game(host, null, true, false); Root.Instance.CurrentFlow = g; g.Start(); return; } if ((i = Array.FindIndex<string>(Root.Instance.Args, new Predicate<string>(delegate(string s) { return s == "-demo"; }))) != -1) { string host = Root.Instance.Args[i + 1]; Game g = new Game(null, host, true, false); Root.Instance.CurrentFlow = g; g.Start(); return; } if ((i = Array.FindIndex<string>(Root.Instance.Args, new Predicate<string>(delegate(string s) { return s == "-view"; }))) != -1) { string mesh = Root.Instance.Args[i + 1]; Viewer v = new Viewer(mesh); Root.Instance.CurrentFlow = v; v.Start(); return; } if ((i = Array.FindIndex<string>(Root.Instance.Args, new Predicate<string>(delegate(string s) { return s == "-edit"; }))) != -1) { //string mesh = Root.Instance.Args[i + 1]; SpaceWar2006.Editor.SpaceEditor v = new SpaceWar2006.Editor.SpaceEditor(); if ((i = Array.FindIndex<string>(Root.Instance.Args, new Predicate<string>(delegate(string s) { return s == "-map"; }))) != -1) { string map = Root.Instance.Args[i + 1]; v.LoadMap(map); } if ((i = Array.FindIndex<string>(Root.Instance.Args, new Predicate<string>(delegate(string s) { return s == "-save"; }))) != -1) { string source = Root.Instance.Args[i + 1]; v.SaveFileName = source; } if ((i = Array.FindIndex<string>(Root.Instance.Args, new Predicate<string>(delegate(string s) { return s == "-name"; }))) != -1) { string name = Root.Instance.Args[i + 1]; v.MapName = name; } Root.Instance.CurrentFlow = v; v.Start(); return; } if ((i = Array.FindIndex<string>(Root.Instance.Args, new Predicate<string>(delegate(string s) { return s == "-local"; }))) != -1) { Game g = new Game(null, null, false, true); Root.Instance.CurrentFlow = g; g.Start(); return; } if ((i = Array.FindIndex<string>(Root.Instance.Args, new Predicate<string>(delegate(string s) { return s == "-localspectate"; }))) != -1) { Game g = new Game(null, null, true, true); Root.Instance.CurrentFlow = g; g.Start(); return; } Root.Instance.Scene.camera = new Camera(); if(Root.Instance.Gui!=null) Root.Instance.Gui.windows.Add(new MainMenu()); }
protected void PlayButtonPressed(Button source,int button, float x, float y) { if (ModeSettings == null) { PlayButton.Caption = "Play (you must select a gametype!)"; return; } Root.Instance.Gui.windows.Remove(this); Root.Instance.CurrentFlow.Stop(); Game g = new Game(null, null, false, true); g.Server.NextMap = (Map)Activator.CreateInstance((Type)Map.Selected.Object); //g.Server.NextMap = new TestSector(); g.Server.NextBotCount = int.Parse(BotCount.GetLine(0)); g.Server.NextRule = ((IRuleCreator)ModeSettings).CreateRule(); Root.Instance.CurrentFlow = g; g.Start(); }