void OnTick(object sender, EventArgs e)
        {
            if (!loaded)
            {
                if (!Game.Player.CanControlCharacter || Game.IsLoading)
                {
                    return;
                }

                if (loadDelayTimer == null)
                {
                    loadDelayTimer = DateTime.Now.AddMilliseconds(Config.LoadStartDelay);
                }

                Decorators.DEntity = Game.Player.Character;

                if (loadDelayTimer < DateTime.Now || Decorators.ScriptHasLoadedOnce)
                {
                    if (Config.DisplayHelpText)
                    {
                        UI.ShowSubtitle("Loading Custom Radios...");
                    }

                    SetupRadio();
                    SetupEvents();

                    // Allow playing MP audio sounds and scenes
                    Function.Call(Hash.SET_AUDIO_FLAG, "LoadMPData", true);

                    RadioNativeFunctions.DashboardScaleform = new ScaleformHelper.Scaleform("dashboard", true);

                    if (!Decorators.ScriptHasLoadedOnce)
                    {
                        Decorators.Init(Game.Player.Character);
                    }

                    loaded = true;

                    if (Config.DisplayHelpText)
                    {
                        UI.ShowSubtitle("Custom Radios Loaded");
                    }

                    if (Config.CustomWheelAsDefault && WheelVars.RadioWheels.Count > 0)
                    {
                        lastRadioWasCustom     = true;
                        canResumeCustomStation = true;
                    }
                }

                return; // Return if loaded is still not true
            }

            if (WheelVars.RadioWheels.Count == 0)
            {
                return;
            }

            if (GTAFunction.HasCheatStringJustBeenEntered("radio_reload"))
            {
                Config.LoadINI();
                Config.UpdateWheelsVisuals();
                Config.ReloadStationINIs();
                Config.RescanForTracklists();
                UI.ShowSubtitle("Custom Radio INIs reloaded:\n- settings.ini\n- station.ini files\n- Scanned for tracklists");
                Wait(150);
            }

            if (VanillaOrCustomRadioWheelIsVisible())
            {
                if (GTAFunction.UsingGamepad() && Game.IsControlJustPressed(2, Config.GP_Toggle))
                {
                    HandleRadioWheelToggle();
                }

                if (lastRadioWasCustom)
                {
                    WheelVars.CurrentRadioWheel.Visible = true;
                }

                lastPlayedOnFoot = Game.Player.Character.IsInVehicle() ? false : true;
            }

            if (Game.IsControlJustReleased(2, GTA.Control.VehicleRadioWheel))
            {
                if (WheelVars.CurrentRadioWheel.Visible)
                {
                    WheelVars.CurrentRadioWheel.Visible = false;
                }
            }

            Wheel.ControlTransitions(Config.EnableWheelSlowmotion);
            WheelVars.RadioWheels.ForEach(w => w.ProcessSelectorWheel());
            HandleRadioWheelQueue();
            SoundFile.ManageSoundEngine();
            RadioStation.ManageStations();
            HandleRadioWheelExtraControls();
            HandleQueuedStationActions();
            HandleEnterExitVehicles();
            UpdateDashboardInfo();
            HandleGamePause();
            GeneralEvents.Update();
        }
Exemplo n.º 2
0
        // GET: Events
        public async Task <IActionResult> Index(int?eventsID, string sortOrder, string currentFilter, string searchString, int?pageNumber)
        {
            var viewModel = new EventsIndexData
            {
                Events = await _context.GeneralEvents
                         .AsNoTracking()
                         .OrderBy(i => i.Id)
                         .ToListAsync().ConfigureAwait(true)
            };

            if (eventsID != null)
            {
                ViewData["DevicesID"] = eventsID.Value;
                GeneralEvents eventModels = viewModel.Events.Where(i => i.Id == eventsID.Value).Single();
            }

            ViewData["CurrentSort"]           = sortOrder;
            ViewData["Id"]                    = sortOrder;
            ViewData["LevelDisplayNameParam"] = String.IsNullOrEmpty(sortOrder) ? "leveldisplayname_desc" : "";
            ViewData["LogNameParam"]          = String.IsNullOrEmpty(sortOrder) ? "logname_desc" : "";
            ViewData["MachineNameParam"]      = String.IsNullOrEmpty(sortOrder) ? "machinename_desc" : "";
            ViewData["MessageParam"]          = String.IsNullOrEmpty(sortOrder) ? "message_desc" : "";
            ViewData["ProviderNameParam"]     = String.IsNullOrEmpty(sortOrder) ? "providername_desc" : "";
            ViewData["RecordIdParam"]         = String.IsNullOrEmpty(sortOrder) ? "recordid_desc" : "";
            ViewData["TaskDisplayNameParam"]  = String.IsNullOrEmpty(sortOrder) ? "taskdisplayname_desc" : "";
            ViewData["TimeCreated"]           = sortOrder == "Date" ? "date_desc" : "Date";

            if (searchString != null)
            {
                pageNumber = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            ViewData["CurrentFilter"] = searchString;

            var events = from e in _context.GeneralEvents
                         select e;

            if (!string.IsNullOrEmpty(searchString))
            {
                events = events.Where(e => e.Message.Contains(searchString) || e.LevelDisplayName.Contains(searchString) || e.LogName.Contains(searchString) || e.MachineName.Contains(searchString) || e.ProviderName.Contains(searchString) || e.TaskDisplayName.Contains(searchString) || e.TimeCreated.ToString().Contains(searchString) || e.RecordId.ToString().Contains(searchString) || e.Id.ToString().Contains(searchString));
            }
            switch (sortOrder)
            {
            case "leveldisplayname_desc":
                events = events.OrderByDescending(e => e.LevelDisplayName);
                break;

            case "logname_desc":
                events = events.OrderByDescending(e => e.LogName);
                break;

            case "machinename_desc":
                events = events.OrderByDescending(e => e.MachineName);
                break;

            case "message_desc":
                events = events.OrderByDescending(e => e.Message);
                break;

            case "providername_desc":
                events = events.OrderByDescending(e => e.ProviderName);
                break;

            case "recordid_desc":
                events = events.OrderByDescending(e => e.RecordId);
                break;

            case "taskdisplayname_desc":
                events = events.OrderByDescending(e => e.TaskDisplayName);
                break;

            case "Date":
                events = events.OrderBy(e => e.TimeCreated);
                break;

            case "date_desc":
                events = events.OrderByDescending(e => e.TimeCreated);
                break;

            default:
                events = events.OrderByDescending(e => e.Id);
                break;
            }
            int pageSize = 10;

            return(View(await PaginatedListCollection <GeneralEvents> .CreateAsync(events.AsNoTracking(), pageNumber ?? 1, pageSize)));
        }