Example #1
0
        public void RunStartGame(StartGameData data, bool admin)
        {
            string           startGamePath = StartGameUtil.GetStartGamePath();
            ProcessStartInfo startInfo     = new ProcessStartInfo();

            startInfo.FileName  = startGamePath;
            startInfo.Arguments = data.GetAsArguments();

            if (admin)
            {
                startInfo.Verb = "runas";
            }
            else
            {
                //startInfo.RedirectStandardOutput = true;
                startInfo.UseShellExecute = false;
            }

            process = Process.Start(startInfo);

            //if (!admin) {
            //    process.OutputDataReceived += proc_OutputDataReceived;
            //    process.BeginOutputReadLine();
            //}
        }
Example #2
0
        public static void RunMultipleTasks(StartGameData[] data, bool admin)
        {
            ClearStartData();

            StartGameApp  app   = new StartGameApp();
            StartGameData final = BuildMultipleTaskData(data);

            app.RunStartGame(final, admin);
        }
Example #3
0
        public static void RunPreBuiltData(StartGameData data, bool admin)
        {
            ClearStartData();

            StartGameApp app = new StartGameApp();

            app.RunStartGame(data, admin);
            app.WaitForExit();
        }
Example #4
0
        public void BeginMutexExists(int processId, params string[] mutex)
        {
            data      = new StartGameData();
            data.Task = GameStarterTask.QueryMutex;

            var list = mutex.ToList();

            list.Insert(0, processId.ToString());
            data.Parameters = list.ToArray();

            RunStartGame(data, true);
        }
Example #5
0
        public static StartGameData BuildScanGamesData(SearchStorageInfo[] storage)
        {
            StartGameData data = new StartGameData();

            data.Task = GameStarterTask.ScanGames;
            string[] argData = new string[storage.Length];
            for (int i = 0; i < storage.Length; i++)
            {
                argData[i] = storage[i].Drive.Name;
            }
            data.Parameters = argData;
            return(data);
        }
Example #6
0
        public static StartGameData BuildMultipleTaskData(StartGameData[] tasks)
        {
            StartGameData data = new StartGameData();

            data.Task = GameStarterTask.MultipleTasks;
            string[] argData = new string[tasks.Length];
            for (int i = 0; i < tasks.Length; i++)
            {
                argData[i] = JsonConvert.SerializeObject(tasks[i]);
            }
            data.Parameters = argData;
            return(data);
        }
Example #7
0
        public static StartGameData BuildSymlinkGameData(SymlinkGameData[] games)
        {
            StartGameData data = new StartGameData();

            data.Task = GameStarterTask.SymlinkFolders;
            string[] argData = new string[games.Length];
            for (int i = 0; i < games.Length; i++)
            {
                argData[i] = JsonConvert.SerializeObject(games[i]);
            }
            data.Parameters = argData;
            return(data);
        }
Example #8
0
        public void BeginStartGame(string pathToGame, string args, string workingDir = null)
        {
            data               = new StartGameData();
            data.Task          = GameStarterTask.StartGame;
            data.Parameters    = new string[3];
            data.Parameters[0] = pathToGame;
            data.Parameters[1] = args;
            data.Parameters[2] = workingDir;

            RunStartGame(data, false);

            //startInfo.RedirectStandardOutput = true;
            //startInfo.UseShellExecute = false;
            //process.OutputDataReceived += proc_OutputDataReceived;
            //process.BeginOutputReadLine();
        }
Example #9
0
        public static StartGameData BuildScanKillMutexData(string gameName, int instances, params string[] mutex)
        {
            StartGameData data = new StartGameData();

            data.Task = GameStarterTask.ScanKillMutex;
            string[] parameters = new string[instances];
            for (int i = 0; i < instances; i++)
            {
                ScanMutexData d = new ScanMutexData();
                d.ProcessName = gameName;
                d.Mutexes     = mutex;

                parameters[i] = JsonConvert.SerializeObject(d);
            }
            data.Parameters = parameters;
            return(data);
        }
Example #10
0
 public void BeginMultipleTasks(StartGameData[] tasks, bool admin)
 {
     data = StartGameUtil.BuildMultipleTaskData(tasks);
     RunStartGame(data, admin);
 }
Example #11
0
 public void BeginScanGames(SearchStorageInfo[] storage)
 {
     data = StartGameUtil.BuildScanGamesData(storage);
     RunStartGame(data, true);
 }
Example #12
0
 public void BeginSymlinkGames(SymlinkGameData[] games)
 {
     data = StartGameUtil.BuildSymlinkGameData(games);
     RunStartGame(data, true);
 }
Example #13
0
 public void BeginScanKillMutex(string gameName, int instances, params string[] mutex)
 {
     data = StartGameUtil.BuildScanKillMutexData(gameName, instances, mutex);
     RunStartGame(data, true);
 }