Beispiel #1
0
        public void LoadWorld(WorldProvider worldProvider, INetworkProvider networkProvider)
        {
            PlayingState playState = new PlayingState(this, GraphicsDevice, worldProvider, networkProvider);

            LoadingWorldState loadingScreen = new LoadingWorldState();

            GameStateManager.AddState("loading", loadingScreen);
            GameStateManager.SetActiveState("loading");

            worldProvider.Load(loadingScreen.UpdateProgress).ContinueWith(task =>
            {
                GameStateManager.RemoveState("play");
                GameStateManager.AddState("play", playState);

                if (networkProvider.IsConnected)
                {
                    GameStateManager.SetActiveState("play");
                }
                else
                {
                    GameStateManager.RemoveState("play");
                    worldProvider.Dispose();
                }

                GameStateManager.RemoveState("loading");
            });
        }
Beispiel #2
0
        protected override void OnUnload()
        {
            Alex.InGame = false;

            new Thread(
                o =>
            {
                NetworkProvider.Close();

                World.Destroy();
                WorldProvider.Dispose();

                _playingHud.Unload();

                //var threadPool =
                //	ReflectionHelper.GetPrivateStaticPropertyValue<MiNET.Utils.DedicatedThreadPool>(
                //		typeof(MiNetServer), "FastThreadPool");
                //threadPool?.Dispose();
                //ReflectionHelper.SetPrivateStaticPropertyValue<MiNET.Utils.DedicatedThreadPool>(typeof(MiNetServer), "FastThreadPool", null);

                RichPresenceProvider.ClearPresence();
            }).Start();

            //GetService<IEventDispatcher>().UnregisterEvents(_playingHud.Chat);
            //_playingHud.Chat =
        }
Beispiel #3
0
        protected override void OnUnload()
        {
            World.Destroy();
            WorldProvider.Dispose();
            NetworkProvider.Close();

            _playingHud.Unload();
            //GetService<IEventDispatcher>().UnregisterEvents(_playingHud.Chat);
            //_playingHud.Chat =
        }
Beispiel #4
0
        protected override void OnUnload()
        {
            Alex.InGame = false;

            World.Destroy();
            WorldProvider.Dispose();
            NetworkProvider.Close();

            _playingHud.Unload();

            RichPresenceProvider.ClearPresence();
            //GetService<IEventDispatcher>().UnregisterEvents(_playingHud.Chat);
            //_playingHud.Chat =
        }
Beispiel #5
0
 protected override void OnUnload()
 {
     World.Destroy();
     WorldProvider.Dispose();
     NetworkProvider.Close();
 }