public static void DisplayWarningMessage(WarningMessage message)
        {
            Function.Call(Hash.SET_WARNING_MESSAGE, message.Line1, message.InstructionalKey, message.Line2, false, -1, 0, 0, message.Background);

            Game.Pause(true);

            if (Game.IsControlJustReleased(201, GTA.Control.FrontendAccept))
            {
                message.State = 1;
            }

            if (Game.IsControlJustReleased(202, GTA.Control.FrontendCancel))
            {
                message.State = 2;
            }

            switch (message.State)
            {
            case 0:
                break;

            case 1:
                Game.Pause(false);
                Controller.IsWarningMessageActive = false;
                break;

            case 2:
                Game.Pause(false);
                Controller.IsWarningMessageActive = false;
                break;
            }

            WarningMessage.OnWarningMessage?.Invoke(message, message.State);
        }
예제 #2
0
 void OnWarningMessage(WarningMessage message, int state)
 {
     if (message == Messages.MissionInProgressWarning && state == 1)
     {
         DisplayMenu();
     }
 }
예제 #3
0
        void OnTick(object sender, EventArgs e)
        {
            controllerMenuPool.ProcessMenus();

            if (controllerMain.Visible)
            {
                // Game.DisableControlThisFrame(51, GTA.Control.Context); // Disallowing doing actions while in the menu
                // Game.DisableControlThisFrame(52, GTA.Control.ContextSecondary); // Disallowing doing actions while in the menu
                Game.DisableControlThisFrame(22, GTA.Control.Jump);             // Disallowing jumping while in the menu
                Game.DisableControlThisFrame(76, GTA.Control.VehicleHandbrake); // Disallowing handbraking while in the menu

                Function.Call(Hash.HIDE_HELP_TEXT_THIS_FRAME);                  // Hiding help text if the menu is displayed

                // if (IsHelpMessageBeingDisplayed())
                // {
                //     controllerMain.Visible = false;
                // }
            }

            if (!controllerMain.Visible)
            {
                controllerMain.RemoveInstructionalButton(buttonStopScene);   // Removing the Stop Scene button WORKAROUND BUGFIX
                controllerMain.RemoveInstructionalButton(buttonCancelEvent); // Removing the Cancel Event button WORKAROUND BUGFIX
            }

            if (IsScorePlaying) // Disabling set/track selection while a Track is playing
            {
                mainScoreCollection.Enabled         = false;
                controllerMain.MenuItems[1].Enabled = false;
                mainScoreIntensity.Enabled          = true;
            }
            else
            {
                mainScoreCollection.Enabled         = true;
                controllerMain.MenuItems[1].Enabled = true;
                mainScoreIntensity.Enabled          = false;
            }

            if (IsRadioMuted)
            {
                Game.DisableControlThisFrame(85, GTA.Control.VehicleRadioWheel);    // Disabling radio wheel in vehicles
                Game.DisableControlThisFrame(81, GTA.Control.VehicleNextRadio);     // Disabling radio in vehicles
                Game.DisableControlThisFrame(82, GTA.Control.VehiclePrevRadio);     // Disabling radio in vehicles
                Game.DisableControlThisFrame(333, GTA.Control.RadioWheelLeftRight); // Disabling radio in vehicles
                Game.DisableControlThisFrame(332, GTA.Control.RadioWheelUpDown);    // Disabling radio in vehicles
            }

            if (IsWarningMessageActive) // Displaying and controlling warning message
            {
                WarningMessage.DisplayWarningMessage(currentWarningMessage);
            }

#if DEBUG
            if (currentScoreTrack != null)
            {
                UI.Notify("The current track is: " + currentScoreTrack.Title); // #DEBUG
            }
#endif

            if (IsDisableOnDeath) // Resetting SC on player's death
            {
                Player player = Function.Call <Player>(Hash.PLAYER_ID);

                if (Function.Call <bool>(Hash.IS_PLAYER_DEAD, player))
                {
                    StopScore();
                }
            }
        }
 public static void PrepareWarningMessage(WarningMessage message)
 {
     Controller.currentWarningMessage  = message;
     Controller.IsWarningMessageActive = true;
     message.State = 0;
 }