Changeset 4713 for 2013


Ignore:
Timestamp:
2013-07-26 11:45:18 (6 years ago)
Author:
dezhidki
Message:

Talletus.

Location:
2013/30/DenisZ/CastleMaster/CastleMaster/CastleMaster
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • 2013/30/DenisZ/CastleMaster/CastleMaster/CastleMaster/CastleMaster.csproj

    r4703 r4713  
    100100    <Compile Include="Guis\GuiManager.cs" /> 
    101101    <Compile Include="Guis\GuiStoreMenu.cs" /> 
     102    <Compile Include="Guis\GuiWinLooseMessage.cs" /> 
    102103    <Compile Include="Input\InputHandler.cs" /> 
    103104    <Compile Include="MathHelpers\FastFunctions.cs" /> 
  • 2013/30/DenisZ/CastleMaster/CastleMaster/CastleMaster/Game.cs

    r4703 r4713  
    3636        private GuiMainScreen mainScreen; 
    3737        private bool isGameRunning = false; 
     38        private static Game instance; 
    3839 
    3940        #region Counter 
     
    5657            players = new Player[2]; 
    5758            guiManager = new GuiManager(); 
     59            IsGamePaused = true; 
     60            instance = this; 
    5861        } 
    5962 
     
    6568 
    6669        public bool IsGameRunning { get { return isGameRunning; } } 
     70 
     71        public bool IsGamePaused { get; set; } 
     72 
     73        public static Game Instance { get { return instance; } } 
    6774 
    6875        protected override void Initialize() 
     
    8996            input.RegisterKeyboardKey(Keys.F4); 
    9097            input.RegisterKeyboardKey(Keys.F1); 
     98            input.RegisterKeyboardKey(Keys.F2); 
    9199            input.RegisterKeyboardKey(Keys.ShiftKey); 
    92100            input.RegisterKeyboardKey(Keys.ControlKey); 
     
    102110        } 
    103111 
     112        public void OpenMainMenu() 
     113        { 
     114            ResetGame(); 
     115            guiManager.AddGui(mainScreen, true, true); 
     116        } 
     117 
    104118        public void ResetGame() 
    105119        { 
     120            IsGamePaused = true; 
    106121            isGameRunning = false; 
    107122            level = null; 
    108123            camera = null; 
    109124            players = new Player[2]; 
    110             ingame.Remove(); 
     125            if (ingame != null) 
     126                ingame.Remove(); 
    111127            GC.Collect(); 
    112128        } 
     
    117133                ResetGame(); 
    118134 
     135            IsGamePaused = false; 
    119136            isGameRunning = true; 
    120137 
     
    128145            foreach (Player p in players) 
    129146                if (p != null) p.OnLevelLoaded(); 
    130             camera.CenterOn(level.Width / 2 * Viewport.TILESIZE, level.Height / 2 * Viewport.TILESIZE); 
     147            camera.CenterOn(100 * Viewport.TILESIZE, 15 * Viewport.TILESIZE); 
    131148 
    132149            ingame = new GuiPlayer(guiManager, players[0]); 
     
    166183 
    167184            mainScreen = new GuiMainScreen(guiManager, this); 
    168             guiManager.AddGui(mainScreen, true, true); 
     185            OpenMainMenu(); 
    169186        } 
    170187 
     
    179196            if (InputHandler.HasKeyBeenPressed(Keys.F4)) 
    180197                IsFixedTimeStep = !IsFixedTimeStep; 
    181             if (InputHandler.HasKeyBeenPressed(Keys.Escape)) 
     198            if (InputHandler.HasKeyBeenPressed(Keys.Escape) && (guiManager.ImportantGui == null || !(guiManager.ImportantGui is GuiWinLooseMessage))) 
    182199            { 
    183200                if (isGameRunning) 
     
    187204                    else 
    188205                        mainScreen.Remove(); 
     206 
     207                    IsGamePaused = mainScreen.IsActive; 
    189208                } 
    190209                else Exit(); 
    191210            } 
    192211 
    193             if (isGameRunning && !mainScreen.IsActive) 
     212            if (isGameRunning && !IsGamePaused) 
    194213            { 
    195214                if (InputHandler.MouseScrollDelta > 1) 
     
    201220                    if (p != null) 
    202221                        p.Update(); 
    203                 //players[0].Update(); 
    204222 
    205223                camera.Update(); 
  • 2013/30/DenisZ/CastleMaster/CastleMaster/CastleMaster/Guis/GuiManager.cs

    r4703 r4713  
    3030            registeredGuis = registeredGuis.OrderBy(g => g.Importance).ToList(); 
    3131        } 
     32 
     33        public Gui ImportantGui { get { return importantGui; } } 
    3234 
    3335        public void RemoveGui(Gui gui) 
  • 2013/30/DenisZ/CastleMaster/CastleMaster/CastleMaster/Units/UnitKing.cs

    r4703 r4713  
    66using CastleMaster.Players; 
    77using CastleMaster.Graphics; 
     8using CastleMaster.Guis; 
    89 
    910namespace CastleMaster.Units 
     
    4546            base.Remove(); 
    4647            level.RemoveUnit(this); 
     48 
     49            GuiWinLooseMessage winLooseMsg = new GuiWinLooseMessage(Game.GuiManager, Game.Instance, Game.GetEnemyTeam(Owner.Team)); 
     50            Game.GuiManager.AddGui(winLooseMsg, true, true); 
     51            Game.Instance.IsGamePaused = true; 
    4752        } 
    4853 
Note: See TracChangeset for help on using the changeset viewer.