public void StartGame(Battle battle) { if (!IsRunning) { List <Battle.GrPlayer> players; talker = new Talker(); talker.SpringEvent += talker_SpringEvent; string configName = "springie" + Program.main.AutoHost.config.HostingPort + ".txt"; ConfigMaker.Generate(path + configName, battle, talker.LoopbackPort, out players); talker.SetPlayers(players); process = new Process(); process.StartInfo.CreateNoWindow = true; process.StartInfo.Arguments += configName; process.StartInfo.WorkingDirectory = path; process.StartInfo.FileName = path + ExecutableName; process.StartInfo.UseShellExecute = false; process.Exited += springProcess_Exited; process.Start(); gameStarted = DateTime.Now; if (IsRunning && SpringStarted != null) { SpringStarted(this, EventArgs.Empty); } Thread.Sleep(1000); ProcessPriority = Program.main.config.HostingProcessPriority; } }
public void StartGame(Battle battle) { if (!IsRunning) { List <Battle.GrPlayer> players; talker = new Talker(); readyPlayers.Clear(); talker.SpringEvent += talker_SpringEvent; string configName = Path.Combine(Program.WorkPath, "springie" + Program.main.AutoHost.config.HostingPort + ".txt").Replace('\\', '/'); ConfigMaker.Generate(configName, battle, talker.LoopbackPort, out players); talker.SetPlayers(players); process = new Process(); process.StartInfo.CreateNoWindow = true; process.StartInfo.Arguments += configName; process.StartInfo.FileName = Program.main.config.ExecutableName; process.StartInfo.WorkingDirectory = Path.GetDirectoryName(Program.main.config.ExecutableName); process.StartInfo.UseShellExecute = false; process.Exited += springProcess_Exited; process.EnableRaisingEvents = true; PlanetWarsMessages = new Dictionary <string, int>(); process.Start(); gameStarted = DateTime.Now; Thread.Sleep(1000); if (!Program.IsLinux && IsRunning) { process.PriorityClass = Program.main.config.HostingProcessPriority; } if (IsRunning && SpringStarted != null) { SpringStarted(this, EventArgs.Empty); } } }
// SPRING.EXE functions public void StartGame(Battle battle) { if (!IsRunning) { List<Battle.GrPlayer> players; talker = new Talker(); talker.SpringEvent += new EventHandler<Talker.SpringEventArgs>(talker_SpringEvent); string configName = "springie" + Program.main.AutoHost.config.HostingPort + ".txt"; ConfigMaker.Generate(path + configName, battle, talker.LoopbackPort, out players); talker.SetPlayers(players); process = new Process(); process.StartInfo.CreateNoWindow = true; process.StartInfo.Arguments += configName; process.StartInfo.WorkingDirectory = path; process.StartInfo.FileName = path + ExecutableName; process.StartInfo.UseShellExecute = false; process.Exited += new EventHandler(springProcess_Exited); process.Start(); process.ProcessorAffinity = (IntPtr)Program.main.config.SpringCoreAffinity; gameStarted = DateTime.Now; process.WaitForInputIdle(); if (IsRunning && SpringStarted != null) SpringStarted(this, EventArgs.Empty); System.Threading.Thread.Sleep(1000); ProcessPriority = Program.main.config.HostingProcessPriority; } }
public void StartGame(Battle battle) { if (!IsRunning) { List<Battle.GrPlayer> players; talker = new Talker(); readyPlayers.Clear(); talker.SpringEvent += talker_SpringEvent; string configName = Path.Combine(Program.WorkPath, "springie" + Program.main.AutoHost.config.HostingPort + ".txt").Replace('\\', '/'); ConfigMaker.Generate(configName, battle, talker.LoopbackPort, out players); talker.SetPlayers(players); process = new Process(); process.StartInfo.CreateNoWindow = true; process.StartInfo.Arguments += configName; process.StartInfo.FileName = Program.main.config.ExecutableName; process.StartInfo.WorkingDirectory = Path.GetDirectoryName(Program.main.config.ExecutableName); process.StartInfo.UseShellExecute = false; process.Exited += springProcess_Exited; process.EnableRaisingEvents = true; PlanetWarsMessages = new Dictionary<string, int>(); process.Start(); gameStarted = DateTime.Now; Thread.Sleep(1000); if (!Program.IsLinux && IsRunning) process.PriorityClass = Program.main.config.HostingProcessPriority; if (IsRunning && SpringStarted != null) SpringStarted(this, EventArgs.Empty); } }