예제 #1
0
 public void OnRoundStart(RoundStartEvent ev)
 {
     if (NextEvent != null)
     {
         eventOnGoing = true;
         NextEvent.EventStart(ev);
         if (NextEvent is IEventHandler)
         {
             Plugin.AddEventHandlers(NextEvent as IEventHandler);
         }
     }
 }
예제 #2
0
        /// <summary>
        /// Initialize once on register
        /// </summary>
        public static void Initialize(Plugin plugin)
        {
            if (eventHandler == null)
            {
                eventHandler = new EventHandler(plugin);
                plugin.AddEventHandlers(eventHandler, Smod2.Events.Priority.High);

                EventHandler.CustomPlayerManager.OnPlayerDisconnect += (playerID) => OnPlayerDisconnect?.Invoke(playerID);
            }
            else
            {
                plugin.Info("CustomAPI already initialized");
            }
        }
예제 #3
0
        public void OnRoundEnd(RoundEndEvent ev)
        {
            if (ev.Status != Smod2.API.ROUND_END_STATUS.ON_GOING)
            {
                eventOnGoing = false;
                NextEvent.EventEnd(ev);
                Plugin.EventManager.RemoveEventHandlers(Plugin);
                if (autoStopEvent)
                {
                    NextEvent = null;
                }
                Plugin.AddEventHandlers(this);
            }

            foreach (string key in Cooldowns.Keys)
            {
                Cooldowns[key]--;
                if (Cooldowns[key] == 0)
                {
                    Cooldowns.Remove(key);
                }
            }
        }
 public LarryController(Plugin plugin)
 {
     this.plugin = plugin;
     plugin.AddEventHandlers(this);
     ArithSpawningKit.RandomPlayerSpawning.RandomPlayerSpawning.Instance.DisablePlugin = false;
 }
 public PowerOuttage(Plugin plugin)
 {
     this.plugin = plugin;
     plugin.AddEventHandlers(this);
 }