コード例 #1
0
ファイル: CountdownPlugin.cs プロジェクト: ProtheanGod/KingMC
 public override void Load(bool startup)
 {
     OnPlayerMoveEvent.Register(HandlePlayerMove, Priority.High);
     OnPlayerDisconnectEvent.Register(HandlePlayerDisconnect, Priority.High);
     OnLevelUnloadEvent.Register(HandleLevelUnload, Priority.High);
     OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High);
 }
コード例 #2
0
        public override void Load(bool startup)
        {
            Command.Register(new CmdReloadEffects());
            Command.Register(new CmdEffect());
            Command.Register(new CmdSpawner());

            rnd = new Random();
            LoadEffects();
            DefineEffectsAll();


            OnPlayerFinishConnectingEvent.Register(OnPlayerFinishConnecting, Priority.Low);
            OnLevelLoadedEvent.Register(OnLevelLoaded, Priority.Low);
            OnLevelUnloadEvent.Register(OnLevelUnload, Priority.Low);
            OnLevelDeletedEvent.Register(OnLevelDeleted, Priority.Low);
            OnLevelCopiedEvent.Register(OnLevelCopied, Priority.Low);
            OnLevelRenamedEvent.Register(OnLevelRenamed, Priority.Low);

            SpawnersFile.cache = new ThreadSafeCache();
            if (!Directory.Exists(SpawnersFile.spawnerDirectory))
            {
                Directory.CreateDirectory(SpawnersFile.spawnerDirectory);
            }
            Level[] levels = LevelInfo.Loaded.Items;
            foreach (Level level in levels)
            {
                SpawnersFile.Load(level);
            }
            spawnerAccum = 0;
            ActivateSpawners();
        }
コード例 #3
0
        protected virtual void HookEventHandlers()
        {
            OnLevelUnloadEvent.Register(HandleLevelUnload, Priority.High);
            OnSendingHeartbeatEvent.Register(HandleSendingHeartbeat, Priority.High);
            OnSQLSaveEvent.Register(SaveStats, Priority.High);

            OnPlayerActionEvent.Register(HandlePlayerAction, Priority.High);
            OnPlayerDisconnectEvent.Register(HandlePlayerDisconnect, Priority.High);
        }
コード例 #4
0
 public override void Load(bool startup)
 {
     OnEntitySpawnedEvent.Register(HandleEntitySpawned, Priority.High);
     OnTabListEntryAddedEvent.Register(HandleTabListEntryAdded, Priority.High);
     OnMoneyChangedEvent.Register(HandleMoneyChanged, Priority.High);
     OnPlayerConnectEvent.Register(HandlePlayerConnect, Priority.High);
     OnPlayerDisconnectEvent.Register(HandlePlayerDisconnect, Priority.High);
     OnPlayerMoveEvent.Register(HandlePlayerMove, Priority.High);
     OnPlayerActionEvent.Register(HandlePlayerAction, Priority.High);
     OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High);
     OnBlockChangeEvent.Register(HandleBlockChange, Priority.High);
     OnLevelUnloadEvent.Register(HandleLevelUnload, Priority.High);
 }
コード例 #5
0
        public override void Load(bool startup)
        {
            OnPlayerDeathEvent.Register(HandlePlayerDeath, Priority.High);
            OnPlayerChatEvent.Register(HandlePlayerChat, Priority.High);
            OnPlayerCommandEvent.Register(HandlePlayerCommand, Priority.High);

            OnBlockChangeEvent.Register(HandleBlockChange, Priority.High);
            OnPlayerDisconnectEvent.Register(HandleDisconnect, Priority.High);
            OnLevelUnloadEvent.Register(HandleLevelUnload, Priority.High);

            OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High);
            OnTabListEntryAddedEvent.Register(HandleTabListEntryAdded, Priority.High);
            OnJoinedLevelEvent.Register(HandleOnJoinedLevel, Priority.High);
        }
コード例 #6
0
        void InitServerTask(SchedulerTask task)
        {
            Server.Start();
            // The first check for updates is run after 10 seconds, subsequent ones every two hours
            Server.Background.QueueRepeat(Updater.UpdaterTask, null, TimeSpan.FromSeconds(10));

            OnPlayerConnectEvent.Register(Player_PlayerConnect, Priority.Low);
            OnPlayerDisconnectEvent.Register(Player_PlayerDisconnect, Priority.Low);
            OnJoinedLevelEvent.Register(Player_OnJoinedLevel, Priority.Low);

            OnLevelLoadedEvent.Register(Level_LevelLoaded, Priority.Low);
            OnLevelUnloadEvent.Register(Level_LevelUnload, Priority.Low);

            RunOnUiThread(() => main_btnProps.Enabled = true);
        }