Esempio n. 1
0
        static APISpotlightMgr()
        {
            bool gameFnInit  = GameFunctions.Init();
            bool gameMemInit = GameMemory.Init();

            if (!gameFnInit || !gameMemInit)
            {
                string str = "";
                if (!gameFnInit)
                {
                    str += nameof(GameFunctions);

                    if (!gameMemInit)
                    {
                        str += " and ";
                        str += nameof(GameMemory);
                    }
                }
                else if (!gameMemInit)
                {
                    str += nameof(GameMemory);
                }

                Game.LogTrivial($"[ERROR] Spotlight: Failed to initialize {str}");
            }

            spotlights = new List <APISpotlight>();
            fiber      = GameFiber.StartNew(UpdateSpotlights, "Spotlight API Manager");

            finalizer = new StaticFinalizer(Dispose);
        }
Esempio n. 2
0
        static APISpotlightMgr()
        {
            bool gameFnInit  = GameFunctions.Init();
            bool gameMemInit = GameMemory.Init();

            if (!gameFnInit || !gameMemInit)
            {
                string str = "";
                if (!gameFnInit)
                {
                    str += nameof(GameFunctions);

                    if (!gameMemInit)
                    {
                        str += " and ";
                        str += nameof(GameMemory);
                    }
                }
                else if (!gameMemInit)
                {
                    str += nameof(GameMemory);
                }

                Game.LogTrivial($"[ERROR] Spotlight: Failed to initialize {str}");
            }

            BaseSpotlight.CoronaPositionPtr  = (NativeVector3 *)Game.AllocateMemory(sizeof(NativeVector3) * 2);
            BaseSpotlight.CoronaDirectionPtr = BaseSpotlight.CoronaPositionPtr++;

            spotlights = new List <APISpotlight>();
            fiber      = GameFiber.StartNew(UpdateSpotlights, "Spotlight API Manager");

            finalizer = new StaticFinalizer(Dispose);
        }
Esempio n. 3
0
        public override bool OnBeforeCalloutDisplayed()
        {
            Logger.LogTrivial(this.GetType().Name, "OnBeforeCalloutDisplayed()");
            Finalizer = new StaticFinalizer(CleanUp);

            return(base.OnBeforeCalloutDisplayed());
        }
Esempio n. 4
0
        public static void Main()
        {
            while (Game.IsLoading)
            {
                GameFiber.Yield();
            }

            Logger.LogWelcome();

            Finalizer = new StaticFinalizer(delegate { StingersPool.DeleteAllStingers(); });

            StingersPool.Initalize();

            while (true)
            {
                GameFiber.Yield();

                //** CHANGE SIZE
                if (Control.Increase.IsJustPressed())
                {
                    NumberOfStingersToSpawn = MathHelper.Clamp(NumberOfStingersToSpawn + 1, 1, 7);
                    if (NumberOfStingersToSpawn == 7)
                    {
                        NumberOfStingersToSpawn = 1;
                    }
                    Game.DisplaySubtitle("~r~Spike Strips ~n~~b~Size: " + NumberOfStingersToSpawn.ToString(), 1000);
                }
                else if (Control.Decrease.IsJustPressed())
                {
                    NumberOfStingersToSpawn = MathHelper.Clamp(NumberOfStingersToSpawn - 1, 0, 6);
                    if (NumberOfStingersToSpawn == 0)
                    {
                        NumberOfStingersToSpawn = 6;
                    }
                    Game.DisplaySubtitle("~r~Spike Strips ~n~~b~Size: " + NumberOfStingersToSpawn.ToString(), 1000);
                }

                if (Control.Deploy.IsJustPressed())
                {
                    if (!StingersPool.IsCreatingStingersFromPlayer && !Game.LocalPlayer.Character.IsInAnyVehicle(false) && !Game.LocalPlayer.Character.IsInCover && !Game.LocalPlayer.Character.IsJumping)
                    {
                        StingersPool.CreateStingersFromPlayer(NumberOfStingersToSpawn);
                    }
                    else if (Settings.AllowDeployFromPoliceCars && Game.LocalPlayer.Character.IsInAnyPoliceVehicle && Game.LocalPlayer.Character.CurrentVehicle.Model.IsCar)
                    {
                        StingersPool.CreateStingerFromBehindVehicle(Game.LocalPlayer.Character.CurrentVehicle);
                    }
                }
                else if (Control.Remove.IsJustPressed())
                {
                    StingersPool.DeleteAllStingers();
                }
            }
        }
Esempio n. 5
0
        static APISpotlightMgr()
        {
            if (!(GameFunctions.Init() && GameMemory.Init() && GameOffsets.Init()))
            {
                Game.LogTrivial($"[ERROR] Failed to initialize spotlight API");
                return;
            }

            spotlights = new List <APISpotlight>();
            fiber      = GameFiber.StartNew(UpdateSpotlights, "Spotlight API Manager");

            finalizer = new StaticFinalizer(Dispose);
        }
Esempio n. 6
0
        public override void Initialize()
        {
            if (checkForRageVersionClass.checkForRageVersion(requiredVersion))
            {
                // read the gaugefuel positions from the gui.ini file
                ReadIniFile.ReadIni();
                string databaseFile = @"plugins/LSPDFR/PoliceLifeS/Database/PoliceLifeS.db";
                if (!File.Exists(databaseFile))
                {
                    DatabaseManager.CreateDatabaseFile();
                }

                myPlayer  = HungerManager.SelectPlayerLife();
                saveTimer = new SaveTimer(300000, myPlayer);
                sf        = new StaticFinalizer(CleanYourScript);

                newUpdateHasBeenShow = false;
                Update();
                //Only if current Version equals the minVersion
                if (CheckUpdate.isNewVersionAvaiable() != 2 && CheckUpdate.serverurl != "")
                {
                    ScreenWidth  = Game.Resolution.Width;
                    ScreenHeight = Game.Resolution.Height;
                    DrawTexture.initTextures();
                    Progress();
                    Functions.OnOnDutyStateChanged += Functions_OnOnDutyStateChanged;
                }
                else if (CheckUpdate.serverurl == "")
                {
                    NotificationManager.addNotification("[~b~Police~s~Life~r~S~s~]: ~r~Not possible to determine the API-Url, please try again later!");
                }
            }
            else
            {
                NotificationManager.addNotification("[~b~Police~s~Life~r~S~s~]: ~r~Rage Version not valid, RPH " + requiredVersion.ToString() + "+ required!");
            }
        }
Esempio n. 7
0
        static Functions()
        {
            PluginState.Init();

            finalizer = new StaticFinalizer(PluginState.Shutdown);
        }