예제 #1
0
        public static bool Prefix(ref User actor, ref StoreComponent store, ref Item item, ref int count, ref IAtomicAction __result)
        {
            PlayerBuyEvent cEvent = new PlayerBuyEvent(ref actor, ref store, ref item, ref count);
            IEvent         iEvent = cEvent;

            EventManager.CallEvent(ref iEvent);

            if (cEvent.IsCancelled())
            {
                __result = new FailedAtomicAction(new LocString());
                return(false);
            }

            return(true);
        }
        public static bool Prefix(ref Guid authId, ref User actor, ref Vector2i position, ref IAtomicAction __result)
        {
            PlayerClaimPropertyEvent cEvent = new PlayerClaimPropertyEvent(ref authId, ref actor, ref position);
            IEvent iEvent = cEvent;

            EventManager.CallEvent(ref iEvent);

            if (cEvent.IsCancelled())
            {
                __result = new FailedAtomicAction(new LocString());
                return(false);
            }

            return(true);
        }
        public static bool Prefix(ref Player actor, ref Skill skill, ref IAtomicAction __result)
        {
            PlayerUnlearnSkillEvent cEvent = new PlayerUnlearnSkillEvent(ref actor, ref skill);
            IEvent iEvent = cEvent;

            EventManager.CallEvent(ref iEvent);

            if (cEvent.IsCancelled())
            {
                __result = new FailedAtomicAction(new LocString());
                return(false);
            }

            return(true);
        }
예제 #4
0
        public static bool Prefix(ref User actor, ref IAtomicAction __result)
        {
            PlayerRunForElectionEvent cEvent = new PlayerRunForElectionEvent(ref actor);
            IEvent iEvent = cEvent;

            EventManager.CallEvent(ref iEvent);

            if (cEvent.IsCancelled())
            {
                __result = new FailedAtomicAction(new LocString());
                return(false);
            }

            return(true);
        }
예제 #5
0
        public static bool Prefix(ref User actor, ref Currency currency, ref float amount, ref IAtomicAction __result)
        {
            PlayerPayTaxEvent cEvent = new PlayerPayTaxEvent(ref actor, ref currency, ref amount);
            IEvent            iEvent = cEvent;

            EventManager.CallEvent(ref iEvent);

            if (cEvent.IsCancelled())
            {
                __result = new FailedAtomicAction(new LocString());
                return(false);
            }

            return(true);
        }
예제 #6
0
        public static bool Prefix(ref Player player, ref WorldObject __instance, ref IAtomicAction __result)
        {
            var wope      = new WorldObjectPickupEvent(ref __instance, ref player);
            var wopeEvent = (IEvent)wope;

            EventManager.CallEvent(ref wopeEvent);

            if (wope.IsCancelled())
            {
                __result = new FailedAtomicAction(new LocString("Asphalt " + nameof(WorldObjectPickupEvent)));
                return(false);
            }

            return(true);
        }
예제 #7
0
        public static bool Prefix(ref User actor, ref AirPollutionComponent obj, ref float value, ref IAtomicAction __result)
        {
            WorldPolluteEvent wpe      = new WorldPolluteEvent(ref actor, ref obj, ref value);
            IEvent            wpeEvent = wpe;

            EventManager.CallEvent(ref wpeEvent);

            if (wpe.IsCancelled())
            {
                __result = new FailedAtomicAction(new LocString("Asphalt " + nameof(WorldPolluteEvent)));
                return(false);
            }

            return(true);
        }
예제 #8
0
        public static bool Prefix(ref User actor, ref CraftingComponent table, ref Item item, ref IAtomicAction __result)
        {
            PlayerCraftEvent cEvent = new PlayerCraftEvent(ref actor, ref table, ref item);
            IEvent           iEvent = cEvent;

            EventManager.CallEvent(ref iEvent);

            if (cEvent.IsCancelled())
            {
                __result = new FailedAtomicAction(new LocString());
                return(false);
            }

            return(true);
        }
예제 #9
0
        public static bool Prefix(ref Player actor, ref Type itemType, ref Vector3i position, ref IAtomicAction __result)
        {
            PlayerPickUpEvent cEvent = new PlayerPickUpEvent(ref actor, ref itemType, ref position);
            IEvent            iEvent = cEvent;

            EventManager.CallEvent(ref iEvent);

            if (cEvent.IsCancelled())
            {
                __result = new FailedAtomicAction(new LocString());
                return(false);
            }

            return(true);
        }
예제 #10
0
        public static bool Prefix(ref Player actor, ref Organism target, ref IAtomicAction __result)
        {
            PlayerHarvestEvent cEvent = new PlayerHarvestEvent(ref actor, ref target);
            IEvent             iEvent = cEvent;

            EventManager.CallEvent(ref iEvent);

            if (cEvent.IsCancelled())
            {
                __result = new FailedAtomicAction(new LocString());
                return(false);
            }

            return(true);
        }