diff options
author | rtk0c <[email protected]> | 2022-06-03 23:30:01 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2022-06-03 23:30:01 -0700 |
commit | 791b3f354b378769bffe623b05f1305c91b77101 (patch) | |
tree | 5409b311e6232eb4a6d3f8259b780d76b8ee1c59 /source/Game/App.cpp | |
parent | 60ccc62f4934e44ad5b905fdbcf458302b8d8a09 (diff) |
Changeset: 64 [WIP] Rename directoriesmaster-switch-to-build2
Diffstat (limited to 'source/Game/App.cpp')
-rw-r--r-- | source/Game/App.cpp | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/source/Game/App.cpp b/source/Game/App.cpp deleted file mode 100644 index 45a7545..0000000 --- a/source/Game/App.cpp +++ /dev/null @@ -1,149 +0,0 @@ -#include "App.hpp" - -#include <string> -#include <utility> - -using namespace std::literals; - -App::App() - : mActiveCamera{ &mMainCamera } { - auto& worldRoot = mWorld.GetRoot(); - - constexpr int kPlayerCount = 2; - for (int i = 0; i < kPlayerCount; ++i) { - auto player = new Player(&mWorld, i); - worldRoot.AddChild(player); - mPlayers.push_back(player); - }; - -#if defined(BRUSSEL_DEV_ENV) - SetGameRunning(false); - SetEditorVisible(true); -#else - SetGameRunning(true); -#endif - - mMainCamera.name = "Main Camera"s; - mMainCamera.SetEyePos(glm::vec3(0, 0, 1)); - mMainCamera.SetTargetDirection(glm::vec3(0, 0, -1)); - mMainCamera.SetHasPerspective(false); -} - -App::~App() { -} - -Camera* App::GetActiveCamera() const { - return mActiveCamera; -} - -void App::BindActiveCamera(Camera* camera) { - mActiveCamera = camera; -} - -void App::UnbindActiveCamera() { - mActiveCamera = &mMainCamera; -} - -bool App::IsGameRunning() const { - return mGameRunning; -} - -void App::SetGameRunning(bool running) { - if (mGameRunning != running) { - mGameRunning = running; - if (running) { - mWorld.Awaken(); - } else { - mWorld.Resleep(); - } - } -} - -bool App::IsEditorVisible() const { - return mEditorVisible; -} - -void App::SetEditorVisible(bool visible) { - if (mEditorVisible != visible) { - if (visible) { -#if BRUSSEL_ENABLE_EDITOR - mEditorVisible = true; - if (mEditor == nullptr) { - mEditor = IEditor::CreateInstance(this); - } -#endif - } else { - mEditorVisible = false; - } - } -} - -void App::Show() { - if (mEditorVisible) { - mEditor->Show(); - } -} - -void App::Update() { - if (IsGameRunning()) { - mWorld.Update(); - } -} - -void App::Draw(float currentTime, float deltaTime) { - mWorldRenderer.BeginFrame(*mActiveCamera, currentTime, deltaTime); - - PodVector<GameObject*> stack; - stack.push_back(&mWorld.GetRoot()); - - while (!stack.empty()) { - auto obj = stack.back(); - stack.pop_back(); - - for (auto child : obj->GetChildren()) { - stack.push_back(child); - } - - auto renderObjects = obj->GetRenderObjects(); - mWorldRenderer.Draw(renderObjects.data(), obj, renderObjects.size()); - } - - mWorldRenderer.EndFrame(); -} - -void App::HandleMouse(int button, int action) { -} - -void App::HandleMouseMotion(double xOff, double yOff) { -} - -void App::HandleKey(GLFWkeyboard* keyboard, int key, int action) { - if (!mKeyCaptureCallbacks.empty()) { - auto& callback = mKeyCaptureCallbacks.front(); - bool remove = callback(key, action); - if (remove) { - mKeyCaptureCallbacks.pop_front(); - } - } - - switch (key) { - case GLFW_KEY_F3: { - if (action == GLFW_PRESS) { - SetEditorVisible(!IsEditorVisible()); - } - return; - } - } - - for (auto& player : mPlayers) { - for (auto playerKeyboard : player->boundKeyboards) { - if (playerKeyboard == keyboard) { - player->HandleKeyInput(key, action); - } - } - } -} - -void App::PushKeyCaptureCallback(KeyCaptureCallback callback) { - mKeyCaptureCallbacks.push_back(std::move(callback)); -} |