Пример #1
0
        // 클라이언트 연결
        private void Btn_ClientInit_Click(object sender, EventArgs e)
        {
            try
            {
                Process[] processes = Process.GetProcessesByName(ClientData.CLIENT_NAME);
                ClientData.clientProcess = processes[0];

                ClientData.LeaguePath = Path.GetDirectoryName(ClientData.clientProcess.MainModule.FileName);
                var lockFilePath = Path.Combine(ClientData.LeaguePath, "lockfile");

                using (var fileStream = new FileStream(lockFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                    using (var reader = new StreamReader(fileStream))
                    {
                        var      text  = reader.ReadToEnd();
                        string[] items = text.Split(':');
                        ClientData.ToKen  = items[3];
                        ClientData.Port   = ushort.Parse(items[2]);
                        ClientData.ApiUrl = "https://127.0.0.1:" + ClientData.Port.ToString() + "/";

                        Console.WriteLine($"Token : {ClientData.ToKen}");
                        Console.WriteLine($"Port : {ClientData.Port}");
                        Console.WriteLine($"ApiUri : {ClientData.ApiUrl}");
                    }

                clientManager.Connect();

                TextBox_OutPut.Text = "클라이언트 찾기 완료";
            }
            catch
            {
                TextBox_OutPut.Text = "클라이언트 찾기 실패";
            }
        }
Пример #2
0
        // 클라이언트 초기화 타이머
        private async void TimerClientInit_Tick(object sender, EventArgs e)
        {
            //Console.WriteLine("클라이언트 찾는중...");

            // 클라이언트 찾는 로직
            try
            {
                // 클라이언트가 연결되지 않으면 클라이언트 연결
                if (GlobalClientData.clientProcess == null)
                {
                    if (initManager.SetProcessInit())
                    {
                        //Console.WriteLine("클라이언트 찾는중..");

                        // 롤 클라이언트 핸들이 0이면 초기화
                        if (GlobalClientData.clientProcess.MainWindowHandle == IntPtr.Zero)
                        {
                            //Console.WriteLine("프로세스 요청 대기...");
                            GlobalClientData.clientProcess = null;
                            return;
                        }

                        // 롤 클라이언트 연결 로직
                        if (initManager.SetClientPathInit())
                        {
                            if (riotClientManager.Connect())
                            {
                                // 클라이언트 UX활성화
                                await riotClientManager.UsingApiEventHttpMessage(HttpMethod.Post, GlobalApiEndPoint.CLIENT_UXSHOW);

                                // UI 변경
                                LabelClientConnect.Text      = "클라이언트 연결됨";
                                LabelClientConnect.ForeColor = Color.DarkGreen;

                                // 폼 마우스 이동 이벤트
                                this.PanelStateLayer.MouseDown -= new MouseEventHandler(this.PanelStateLayer_MouseDown);
                                this.PanelStateLayer.MouseMove -= new MouseEventHandler(this.PanelStateLayer_MouseMove);

                                // MainForm Size 조절
                                uiManager.InitClientPtr();
                                uiManager.InitClientRect();

                                // 클라이언트 연결 여부
                                riotClientManager.isClientConnect = true;

                                // 프로그램 UI 사이즈 조절
                                Size = new Size(mainWidth, uiManager.GetClientHeight());
                                PanelStateLayer.Height = Convert.ToInt32(this.Size.Height * 0.11f);

                                // 타이머 실행
                                TimerFormRect.Start();
                                TimerClientInit.Stop();
                            }
                        }
                    }
                }
            }
            catch
            {
                Console.WriteLine("클라이언트 찾기 실패");
            }
        }