Example #1
0
        internal static void RunBarricadeDamage(UnturnedBarricade barricade, ref ushort damage, ref bool cancel)
        {
            if (OnBarricadeDamage == null)
            {
                return;
            }

            OnBarricadeDamage(barricade, ref damage, (damage > barricade.Health), ref cancel);
            if (damage > barricade.Health && !cancel)
            {
                RunBarricadeDestroy(barricade, ref cancel);
            }
        }
Example #2
0
        internal static void RunBarricadeRemoved(UnturnedBarricade barricade, ref bool cancel)
        {
            if (OnBarricadeRemoved == null)
            {
                return;
            }

            OnBarricadeRemoved(barricade, ref cancel);
            if (!cancel)
            {
                UnturnedServer.RemoveBarricade(barricade);
            }
        }
        public static void askRepair(this Barricade barricade, ushort amount)
        {
            // Set the variables
            bool cancel = false;

            // Run the events
            BarricadeEvents.RunBarricadeRepair(UnturnedBarricade.FindBarricade(barricade), ref amount, ref cancel);

            // Run the original function
            if (!cancel)
            {
                DetourManager.CallOriginal(typeof(Barricade).GetMethod("askRepair", BindingFlags.Instance | BindingFlags.Public), barricade, amount);
            }
        }
Example #4
0
        public void askSalvageBarricade(CSteamID steamID, byte x, byte y, ushort plant, ushort index)
        {
            BarricadeRegion barricadeRegion;
            bool            cancel = false;

            if (BarricadeManager.tryGetRegion(x, y, plant, out barricadeRegion))
            {
                BarricadeData data = barricadeRegion.barricades[(int)index];

                BarricadeEvents.RunBarricadeSalvage(UnturnedBarricade.Create(data), ref cancel);
            }

            if (!cancel)
            {
                DetourManager.CallOriginal(typeof(BarricadeManager).GetMethod("askSalvageBarricade", BindingFlags.Public | BindingFlags.Instance), BarricadeManager.instance, steamID, x, y, plant, index);
            }
        }
Example #5
0
 internal static void RunBarricadeCreated(BarricadeData barricade, ref bool cancel) => OnBarricadeCreated?.Invoke(UnturnedBarricade.Create(barricade), ref cancel);
Example #6
0
 internal static void RunBarricadeSalvage(UnturnedBarricade barricade, ref bool cancel) => OnBarricadeSalvage?.Invoke(barricade, ref cancel);
Example #7
0
 internal static void RunBarricadeDestroy(UnturnedBarricade barricade, ref bool cancel) => OnBarricadeDestroy?.Invoke(barricade, ref cancel);
Example #8
0
 internal static void RunBarricadeRepair(UnturnedBarricade barricade, ref ushort repair, ref bool cancel) => OnBarricadeRepair?.Invoke(barricade, ref repair, ref cancel);