示例#1
0
        //internal static HangWatchdog AntiZombieProcessChecker;
        internal static async Task <bool> ProcessCheck()
        {
            if (GameModule.InitWarcraft3Info() != WarcraftState.OK ||
                !GameModule.WarcraftCheck())
            {
                InitializedWarcraft = false;
                if (AutoRG.IsRunning)
                {
                    AutoRG.CancelAsync();
                }
                AutoMouse.CheckOff();
                // 프로그램을 찾지 못할 경우 검색 간격 증가
                await Task.Delay(800);

                return(true);
            }
            else if (!InitializedWarcraft)
            {
                InitializedWarcraft = true;
                await Task.Delay(2000);

                Warcraft3Info.Refresh();
                GameModule.GetOffset();
                GameDelay       = 50;
                RefreshCooldown = 0.01f;
                //ColorfulChat = true;
                name           = string.Empty;
                StartDelay     = Settings.StartSpeed > 0 ? Settings.StartSpeed : 0.01f;
                CameraDistance = Settings.CameraDistance;
                CameraAngleX   = Settings.CameraAngleX;
                CameraAngleY   = Settings.CameraAngleY;
            }
            if (Settings.IsAutoHp && !HPView)
            {
                HPView = true;
            }

            //AntiZombieProcessChecker.Check();
            MemoryOptimizeChecker.Check();

            StatusCheck();
            return(false);
        }
示例#2
0
        private void Select_Click(object sender, EventArgs e)
        {
            Process proc = ProcessList.FocusedItem.Tag as Process;

            switch (GameModule.InitWarcraft3Info(proc))
            {
            case WarcraftState.OK:
                MetroDialog.OK("지정 완료", $"{proc.ProcessName} ({proc.Id}) 가 지정되었습니다.");
                break;

            case WarcraftState.Closed:
                MetroDialog.OK("오류", $"{proc.ProcessName} ({proc.Id}) 는 이미 화면이 종료된 상태이므로 강제로 프로세스를 종료합니다.");
                break;

            case WarcraftState.Error:
                MetroDialog.OK("오류", "프로세스를 초기화 하는데에 실패했습니다.");
                break;
            }
            procs.Remove(proc);
            Close();
        }