예제 #1
0
        /// <summary> Unhooks IRC events so they are no longer handled. </summary>
        public void Unhook()
        {
            if (!hookedEvents)
            {
                return;
            }
            hookedEvents = false;
            userMap.Clear();

            OnPlayerActionEvent.Unregister(HandlePlayerAction);
            OnShuttingDownEvent.Unregister(HandleShutdown);
            OnGroupLoadEvent.Unregister(HandleGroupLoad);

            OnChatEvent.Unregister(HandleChat);
            OnChatSysEvent.Unregister(HandleChatSys);
            OnChatFromEvent.Unregister(HandleChatFrom);

            // Regster events for incoming
            bot.connection.Listener.OnNick              -= Listener_OnNick;
            bot.connection.Listener.OnRegistered        -= Listener_OnRegistered;
            bot.connection.Listener.OnAction            -= Listener_OnAction;
            bot.connection.Listener.OnPublic            -= Listener_OnPublic;
            bot.connection.Listener.OnPrivate           -= Listener_OnPrivate;
            bot.connection.Listener.OnError             -= Listener_OnError;
            bot.connection.Listener.OnQuit              -= Listener_OnQuit;
            bot.connection.Listener.OnJoin              -= Listener_OnJoin;
            bot.connection.Listener.OnPart              -= Listener_OnPart;
            bot.connection.Listener.OnDisconnected      -= Listener_OnDisconnected;
            bot.connection.Listener.OnChannelModeChange -= Listener_OnChannelModeChange;
            bot.connection.Listener.OnNames             -= Listener_OnNames;
            bot.connection.Listener.OnKick              -= Listener_OnKick;
            bot.connection.Listener.OnKill              -= Listener_OnKill;
            bot.connection.Listener.OnPrivateNotice     -= Listener_OnPrivateNotice;
        }
예제 #2
0
 void UnregisterEvents()
 {
     OnPlayerConnectEvent.Unregister(HandlePlayerConnect);
     OnPlayerDisconnectEvent.Unregister(HandlePlayerDisconnect);
     OnPlayerActionEvent.Unregister(HandlePlayerAction);
     UnhookEvents();
 }
예제 #3
0
 public override void Unload(bool shutdown)
 {
     OnPlayerConnectEvent.Unregister(HandleConnect);
     OnPlayerDisconnectEvent.Unregister(HandleDisconnect);
     OnPlayerChatEvent.Unregister(HandleChat);
     OnPlayerActionEvent.Unregister(HandlePlayerAction);
     OnModActionEvent.Unregister(HandleModerationAction);
 }
예제 #4
0
        protected virtual void UnhookEventHandlers()
        {
            OnLevelUnloadEvent.Unregister(HandleLevelUnload);
            OnSendingHeartbeatEvent.Unregister(HandleSendingHeartbeat);
            OnSQLSaveEvent.Unregister(SaveStats);

            OnPlayerActionEvent.Unregister(HandlePlayerAction);
            OnPlayerDisconnectEvent.Unregister(HandlePlayerDisconnect);
        }
예제 #5
0
 public override void Unload(bool shutdown)
 {
     OnEntitySpawnedEvent.Unregister(HandleEntitySpawned);
     OnTabListEntryAddedEvent.Unregister(HandleTabListEntryAdded);
     OnMoneyChangedEvent.Unregister(HandleMoneyChanged);
     OnPlayerConnectEvent.Unregister(HandlePlayerConnect);
     OnPlayerDisconnectEvent.Unregister(HandlePlayerDisconnect);
     OnPlayerMoveEvent.Unregister(HandlePlayerMove);
     OnPlayerActionEvent.Unregister(HandlePlayerAction);
     OnPlayerSpawningEvent.Unregister(HandlePlayerSpawning);
     OnBlockChangeEvent.Unregister(HandleBlockChange);
     OnLevelUnloadEvent.Unregister(HandleLevelUnload);
 }
예제 #6
0
        protected override void OnStop()
        {
            socket = null;
            if (api != null)
            {
                api.StopAsync();
                api = null;
            }
            base.OnStop();

            OnPlayerConnectEvent.Unregister(HandlePlayerConnect);
            OnPlayerDisconnectEvent.Unregister(HandlePlayerDisconnect);
            OnPlayerActionEvent.Unregister(HandlePlayerAction);
        }