mirror of
https://github.com/antopilo/Nuake.git
synced 2026-09-15 20:08:54 +03:00
Initial push
This commit is contained in:
83
Engine/Engine.cpp
Normal file
83
Engine/Engine.cpp
Normal file
@@ -0,0 +1,83 @@
|
||||
#include "Engine.h"
|
||||
#include "src/Core/Physics/PhysicsManager.h"
|
||||
#include <GLFW/glfw3.h>
|
||||
#include "src/Core/FileSystem.h"
|
||||
|
||||
float Engine::m_LastFrameTime = 0.0f;
|
||||
Ref<Window> Engine::CurrentWindow;
|
||||
bool Engine::IsPlayMode = false;
|
||||
|
||||
#include "../Rendering/Renderer.h"
|
||||
void Engine::Init()
|
||||
{
|
||||
|
||||
PhysicsManager::Get()->Init();
|
||||
FileSystem::Scan();
|
||||
|
||||
CurrentWindow = std::make_shared<Window>();
|
||||
|
||||
|
||||
}
|
||||
|
||||
void Engine::Tick()
|
||||
{
|
||||
float time = (float)glfwGetTime();
|
||||
Timestep timestep = time - m_LastFrameTime;
|
||||
m_LastFrameTime = time;
|
||||
|
||||
if (Engine::IsPlayMode)
|
||||
GetCurrentScene()->Update(timestep);
|
||||
else
|
||||
GetCurrentScene()->EditorUpdate(timestep);
|
||||
}
|
||||
|
||||
void Engine::EnterPlayMode()
|
||||
{
|
||||
if (!IsPlayMode)
|
||||
{
|
||||
GetCurrentScene()->OnInit();
|
||||
}
|
||||
IsPlayMode = true;
|
||||
}
|
||||
|
||||
void Engine::ExitPlayMode()
|
||||
{
|
||||
if (IsPlayMode)
|
||||
GetCurrentScene()->OnExit();
|
||||
IsPlayMode = false;
|
||||
}
|
||||
|
||||
void Engine::Draw()
|
||||
{
|
||||
Window::Get()->Draw();
|
||||
}
|
||||
|
||||
void Engine::EndDraw()
|
||||
{
|
||||
Window::Get()->EndDraw();
|
||||
}
|
||||
|
||||
void Engine::Run()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Engine::Close()
|
||||
{
|
||||
glfwTerminate();
|
||||
}
|
||||
|
||||
Ref<Scene> Engine::GetCurrentScene()
|
||||
{
|
||||
return CurrentWindow->GetScene();
|
||||
}
|
||||
|
||||
int Engine::HelloWorld()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
Ref<Window> Engine::GetCurrentWindow()
|
||||
{
|
||||
return CurrentWindow;
|
||||
}
|
||||
Reference in New Issue
Block a user