Exemplo n.º 1
0
 public static void Init()
 {
     shader = new ShaderProgram(Shaders.GuiVert, Shaders.GuiFrag);
     TextFont.Init();
     GameGuiRenderer.Init();
     TitleScreenRenderer.Init();
 }
Exemplo n.º 2
0
        public static void Update()
        {
            switch (Program.Mode)
            {
            case ProgramMode.Game:
                GameGuiRenderer.Update();
                break;

            case ProgramMode.TitleScreen:
                TitleScreenRenderer.Update();
                break;
            }
        }
Exemplo n.º 3
0
        public static void Render()
        {
            switch (Program.Mode)
            {
            case ProgramMode.Game:
                GameGuiRenderer.Render();
                break;

            case ProgramMode.TitleScreen:
                TitleScreenRenderer.Render();
                break;
            }

            Gl.UseProgram(shader);
            Gl.UseProgram(0);
        }
Exemplo n.º 4
0
        private static void MainGameLoop()
        {
            Gl.ClearColor(1, 1, 1, 1);
            Gl.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
            ErrorCode error = Gl.GetError();

            Debug.Assert(error == ErrorCode.NoError);

            GameTime.Update();
            CooldownTimer.Update();

            if (Mode == ProgramMode.Game)
            {
                GameGuiRenderer.RenderBackground();
                GameRenderer.Render();
                GameLogic.Update();
            }
            Gui.Render();
            Gui.Update();

            Input.Update();
            Glut.glutSwapBuffers();
        }
Exemplo n.º 5
0
 public static void Dispose()
 {
     TitleScreenRenderer.Dispose();
     GameGuiRenderer.Dispose();
 }
Exemplo n.º 6
0
        public static void Update()
        {
            if (Input.SpecialKeys[Glut.GLUT_KEY_F1])
            {
                RenderDebugText.Toggle();
            }

            if (Input.SpecialKeys[Glut.GLUT_KEY_F2])
            {
                RenderHitboxes.Toggle();
            }

            if (Input.Keys['e'])
            {
                if (State == GameState.Normal)
                {
                    PlayerInventory.Instance.InventoryOpen.val = true;
                    State = GameState.Inventory;
                }
            }
            if (Input.Keys[13])
            {
                if (!StateChanged_Enter)
                {
                    if (State == GameState.Normal)
                    {
                        GameGuiRenderer.TxtInput.disabled = false;
                        State = GameState.Text;
                    }
                    else if (State == GameState.Text)
                    {
                        GameGuiRenderer.TxtInput.Execute();
                        GameGuiRenderer.TxtInput.disabled = true;
                        State = GameState.Normal;
                    }
                    StateChanged_Enter = true;
                }
            }
            else
            {
                StateChanged_Enter = false;
            }

            if (Input.Keys[27])
            {
                if (!StateChanged_Escape)
                {
                    switch (State)
                    {
                    case GameState.Normal:
                        State = GameState.Paused;
                        break;

                    case GameState.Paused:
                        State = GameState.Normal;
                        break;

                    case GameState.Inventory:
                        PlayerInventory.Instance.InventoryOpen.val = false;
                        State = GameState.Normal;
                        break;

                    case GameState.Text:
                        GameGuiRenderer.TxtInput.disabled = true;
                        State = GameState.Normal;
                        break;
                    }
                    StateChanged_Escape = true;
                }
            }
            else
            {
                StateChanged_Escape = false;
            }

            GameGuiRenderer.SetDebugText(DebugText());

            switch (State)
            {
            case GameState.Inventory:
                EntityManager.UpdateAll();
                Terrain.Update();
                PlayerInventory.Instance.UpdateHotbar();
                PlayerInventory.Instance.UpdateInventory();
                break;

            case GameState.Normal:
                EntityManager.UpdateAll();
                Terrain.Update();
                PlayerInventory.Instance.UpdateHotbar();
                PlayerInventory.Instance.UpdateInventory();
                break;

            case GameState.Paused:
            case GameState.Text:
                break;
            }
        }