public void PlayGame(GameInfo info) { if (!LeagueOfLegendsAnalyzer.IsLoLExists()) { if (!LeagueOfLegendsAnalyzer.CheckLoLExeSelected()) { return; } } StartLoLLauncher(new LoLLauncher(info)); }
private void StartLoLLauncher(LoLLauncher launcher) { if (!LeagueOfLegendsAnalyzer.CheckLoLExeSelected()) { return; } _launcher = launcher; _launcher.Parent = this; _launcher.AnyEvent += LoLLauncherDone; _launcher.StartPlaying(); }
public LoLRecorder StartNewRecoding(GameInfo info = null, Boolean playNow = false, Boolean externalStart = false, PlayerInfo[] players = null) { if (!LeagueOfLegendsAnalyzer.IsLoLExists()) //觀戰用,LoL沒在執行時要先確定有LoL路徑 { if (!LeagueOfLegendsAnalyzer.CheckLoLExeSelected()) { return(null); } } LoLRecorder r = new LoLRecorder(info, externalStart); r.doneEvent += new RecordDoneDelegate(RecordDone); r.infoDoneEvent += new BaronReplays.LoLRecorder.RecordEventDelegate(RecordInfoDone); if (players != null) { r.record.players = players; } if (playNow) { if (!LeagueOfLegendsAnalyzer.CheckLoLExeSelected()) { return(r); } r.prepareContentDoneEvent += Recorder_prepareContentDoneEvent; } ThreadStart recoderfunc = new ThreadStart(r.startRecording); Thread t = new Thread(recoderfunc); t.IsBackground = true; t.Name = "Recorder"; this.Recorders.Add(r, t); t.Start(); Logger.Instance.WriteLog(String.Format("Recorder thread created {0}({1})", t.ManagedThreadId, t.Name)); UpdateStatusBar(); return(r); }