コード例 #1
0
        private async void LongKeyPress()
        {
            CodjumperMainData mainData = await CodjumperDataManager.Instance.GetMainData();

            if (mainData == null)
            {
                return;
            }
            longKeyPress = true;
            Logger.Instance.LogMessage(TracingLevel.INFO, "Detected Long Key Press");
            Process.Start(youtubeQuery + mainData.Rcon.Serv.MapName + " walkthrough");
            keyPressed = false;
        }
コード例 #2
0
        private async Task LoadCodjumperData()
        {
            if ((DateTime.Now - this.lastRefreshTime).TotalSeconds < RATE)
            {
                return;
            }
            Logger.Instance.LogMessage(TracingLevel.INFO, "Fetching 3xP' Codjumper data...");
            this.lastRefreshTime = DateTime.Now;
            string str = await this.QueryAPI(URL);

            if (!String.IsNullOrEmpty(str))
            {
                this.mainData = JsonConvert.DeserializeObject <CodjumperMainData>(str);
            }
            try
            {
                Logger.Instance.LogMessage(TracingLevel.DEBUG, "Current Map: " + mainData.Rcon.Serv.MapName + " | " + "Players Online: " + mainData.Rcon.Clients.Count.ToString() + "/" + mainData.Rcon.Serv.SvMaxClients);
            }
            catch
            {
                Logger.Instance.LogMessage(TracingLevel.DEBUG, "Unable to fetch 3xP' Codjumper data. | Server may be offline, attempting to re-fetch...");
            }
        }
コード例 #3
0
        public async override void OnTick()
        {
            if (keyPressed)
            {
                int keyWasPressedAt = (int)(DateTime.Now - keyPressStartAt).TotalMilliseconds;
                if (keyWasPressedAt >= longKeyPressLength)
                {
                    LongKeyPress();
                }
            }
            CodjumperMainData mainData = await CodjumperDataManager.Instance.GetMainData();

            if (mainData == null)
            {
                return;
            }
            try
            {
                string mapName = mainData.Rcon.Serv.MapName;

                if (settings.KeyCycle == CycleMethods.Static)
                {
                    Regex regex = new Regex("mp_");
                    mapName = regex.Replace(mapName, "", 1);
                    mapName = mapName.First().ToString().ToUpper() + mapName.Substring(1);

                    switch (mapName)
                    {
                    case "Aerodynamics":
                        await Connection.SetTitleAsync("Aero-\ndynamics");

                        break;

                    case "Achromatic":
                        await Connection.SetTitleAsync("Achro-\nmatic");

                        break;

                    case "Architektur":
                        await Connection.SetTitleAsync("Archi-\ntektur");

                        break;

                    case "Dependence":
                        await Connection.SetTitleAsync("Depen-\ndence");

                        break;

                    case "Dependence_v2":
                        await Connection.SetTitleAsync("Depen-\ndence\nv2");

                        break;

                    case "Lavajump_v2_nos":
                        await Connection.SetTitleAsync("Lavajump\nv2 nos");

                        break;

                    case "Millennium":
                        await Connection.SetTitleAsync("Millen-\nnium");

                        break;

                    case "Morningstar":
                        await Connection.SetTitleAsync("Morning-\nstar");

                        break;

                    default:
                        mapName = mapName.Replace("_", "\n");
                        await Connection.SetTitleAsync(mapName);

                        break;
                    }
                }

                if (settings.KeyCycle == CycleMethods.Dynamic)
                {
                    if (String.IsNullOrEmpty(settings.LengthOfCycle))
                    {
                        await Connection.SetTitleAsync("Please\nspecify\na valid\nduration.");

                        return;
                    }
                    if ((DateTime.Now - lastCycleChange).TotalSeconds >= Convert.ToDouble(settings.LengthOfCycle))
                    {
                        lastCycleChange = DateTime.Now;
                        currentStage    = (currentStage + 1) % 2;
                    }
                    switch (currentStage)
                    {
                    case 0:
                        Regex regex = new Regex("mp_");
                        mapName = regex.Replace(mapName, "", 1);
                        mapName = mapName.First().ToString().ToUpper() + mapName.Substring(1);
                        {
                            switch (mapName)
                            {
                            case "Aerodynamics":
                                await Connection.SetTitleAsync("Aero-\ndynamics");

                                break;

                            case "Achromatic":
                                await Connection.SetTitleAsync("Achro-\nmatic");

                                break;

                            case "Architektur":
                                await Connection.SetTitleAsync("Archi-\ntektur");

                                break;

                            case "Dependence":
                                await Connection.SetTitleAsync("Depen-\ndence");

                                break;

                            case "Dependence_v2":
                                await Connection.SetTitleAsync("Depen-\ndence\nv2");

                                break;

                            case "Lavajump_v2_nos":
                                await Connection.SetTitleAsync("Lavajump\nv2 nos");

                                break;

                            case "Millennium":
                                await Connection.SetTitleAsync("Millen-\nnium");

                                break;

                            case "Morningstar":
                                await Connection.SetTitleAsync("Morning-\nstar");

                                break;

                            default:
                                mapName = mapName.Replace("_", "\n");
                                await Connection.SetTitleAsync(mapName);

                                break;
                            }
                            break;
                        }

                    case 1:
                        string currentPlayers = mainData.Rcon.Clients.Count.ToString();
                        string maxPlayers     = mainData.Rcon.Serv.SvMaxClients.ToString();
                        await Connection.SetTitleAsync("Players:\n" + "(" + currentPlayers + "/" + maxPlayers + ")");

                        break;
                    }
                }
            }
            catch
            {
                if ((DateTime.Now - lastCycleChange).TotalSeconds >= 5.0)
                {
                    lastCycleChange = DateTime.Now;
                    currentStage    = (currentStage + 1) % 2;
                }
                switch (currentStage)
                {
                case 0:
                    await Connection.SetTitleAsync("Invalid\nresponse\nfrom 3xP'\nAPI...");

                    break;

                case 1:
                    await Connection.SetTitleAsync("Fetching\ndata from\n3xP' API\nawait...");

                    break;
                }
            }
        }