Exemple #1
0
        public override void GameStartDone()
        {
            //register the additional event handlers as required
            if (API.Events.hasPersistentPlayerDataHandlers)
            {
                GameManager.Instance.GetPersistentPlayerList().AddPlayerEventHandler(new PersistentPlayerData.PlayerEventHandler(OnPersistentPlayerEvent));
            }

            API.Events.NotifyGameStartDoneHandlers();

            World w = GameManager.Instance.World;

            //if (API.Events.hasBlockChangeHandlers) {
            w.ChunkCache.OnBlockChangedDelegates += new ChunkCluster.OnBlockChangedDelegate(OnBlockChanged);

            //}

            //if (API.Events.hasBlockChangeHandlers) {
            w.ChunkCache.OnBlockDamagedDelegates += new ChunkCluster.OnBlockDamagedDelegate(OnBlockDamaged);
            //}

            //if (API.Events.hasEntityLoadedHandlers) {
            w.EntityLoadedDelegates += new World.OnEntityLoadedDelegate(OnEntityLoaded);
            //}

            //if (API.Events.hasEntityUnloadedHandlers) {
            w.EntityUnloadedDelegates += new World.OnEntityUnloadedDelegate(OnEntityUnloaded);
            //}

            //if (API.Events.hasGameStatsChangedHandlers) {
            GameStats.OnChangedDelegates += new GameStats.OnChangedDelegate(OnGameStatsChanged);
            //}

            //if (API.Events.hasGamePrefsChangedHandlers) {
            GamePrefs.AddChangeListener(new GamePrefChangedHandler());
            //}

            if (API.Events.hasLibTickHandlers)
            {
                doTick = true;
            }

            if (API.Events.hasChunkAddedHandlers)
            {
                chunkCbHandler = new ChunkCallbackHandler();
            }

            //start the web server if applicable
            if (WebConsoleEnabled)
            {
                if (WebConsoleEnabled || Servers.HTTP.EndPointsList._endPoints.Count > 0)
                {
                    WWWEndpointProvider homePageProvider = new Servers.EndPoints.EndPoint_Home();

                    Servers.HTTP.EndPointsList.RegisterEndpoint("/", homePageProvider);
                    Servers.HTTP.EndPointsList.RegisterEndpoint("/login/", new Servers.EndPoints.EndPoint_PasswordLogin());
                    Servers.HTTP.EndPointsList.RegisterEndpoint("/steam/", new Servers.EndPoints.EndPoint_SteamLogin());
                    Servers.HTTP.EndPointsList.RegisterEndpoint("/settings/", new Servers.EndPoints.EndPoint_Settings());
                    Servers.HTTP.EndPointsList.RegisterEndpoint("/settings/experm/", new Servers.EndPoints.Endpoint_ExpermSettings());
                    Servers.HTTP.EndPointsList.RegisterEndpoint("/settings/experm/group/", new Servers.EndPoints.EndPoint_ExpermGroup());
                    Servers.HTTP.EndPointsList.RegisterEndpoint("/settings/experm/group/removenode/", new Servers.EndPoints.EndPoint_ExPermRemoveGroupNode());
                    Servers.HTTP.EndPointsList.RegisterEndpoint("/settings/experm/group/addnode/", new Servers.EndPoints.EndPoint_ExPermAddGroupNode());
                    Servers.HTTP.EndPointsList.RegisterEndpoint("/settings/experm/user/", new Servers.EndPoints.EndPoint_ExpermUser());
                    Servers.HTTP.EndPointsList.RegisterEndpoint("/settings/experm/user/removenode/", new Servers.EndPoints.EndPoint_ExPermRemoveUserNode());
                    Servers.HTTP.EndPointsList.RegisterEndpoint("/settings/experm/user/addnode/", new Servers.EndPoints.EndPoint_ExPermAddUserNode());
                    Servers.HTTP.EndPointsList.RegisterEndpoint("/settings/onlineplayers/", new Servers.EndPoints.EndPoint_OnlinePlayers());
                    Log.Out("STARTING SERVER");
                    this.webServer = new Servers.HTTP.WWW("*", WebConsolePort);
                    this.webServer.Run();
                }
            }
        }