Fixes
This commit is contained in:
99
Src/Editor/imp/cpp/UI/View/Game.cpp
Normal file
99
Src/Editor/imp/cpp/UI/View/Game.cpp
Normal file
@ -0,0 +1,99 @@
|
||||
// IAEngine: 2D Game Engine by IA
|
||||
// Copyright (C) 2025 IASoft (PVT) LTD (oss@iasoft.dev)
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
#include <Editor.hpp>
|
||||
#include <UI/View/Game.hpp>
|
||||
|
||||
#include <RenderCore/RenderCore.hpp>
|
||||
|
||||
#include <IAEngine/LibInterface.hpp>
|
||||
|
||||
namespace ia::iae
|
||||
{
|
||||
VOID View_Game::Initialize()
|
||||
{
|
||||
SetName("Game");
|
||||
SetIcon(ICON_FA_GAMEPAD);
|
||||
|
||||
IAEngine::__Initialize(SCENE_EDITOR_RESOULTION, Editor::Instance().GetActiveProject()->AssetDirectory());
|
||||
|
||||
m_gameRenderTexture = new RDC_Texture(RDC_Texture::EType::SAMPLED, SCENE_EDITOR_RESOULTION.x, SCENE_EDITOR_RESOULTION.y);
|
||||
}
|
||||
|
||||
VOID View_Game::Terminate()
|
||||
{
|
||||
delete m_gameRenderTexture;
|
||||
}
|
||||
|
||||
VOID View_Game::Render()
|
||||
{
|
||||
PreRender();
|
||||
|
||||
ImGui::Image(m_gameRenderTexture->GetHandle(), m_extent);
|
||||
|
||||
PostRender();
|
||||
}
|
||||
|
||||
VOID View_Game::Update()
|
||||
{
|
||||
STATIC INT32 frameCounter{0};
|
||||
|
||||
IAEngine::__Update();
|
||||
|
||||
frameCounter++;
|
||||
if (frameCounter >= 60)
|
||||
{
|
||||
frameCounter = 0;
|
||||
IAEngine::__FixedUpdate();
|
||||
}
|
||||
|
||||
IAEngine::__RenderToTexture(m_gameRenderTexture->GetHandle());
|
||||
}
|
||||
|
||||
VOID View_Game::OnEvent(IN SDL_Event *event)
|
||||
{
|
||||
IAEngine::__ProcessEvent(event);
|
||||
}
|
||||
} // namespace ia::iae
|
||||
|
||||
C_DECL(GameRequestedConfig *Game_GetConfigRequest())
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
C_DECL(VOID Game_OnInitialize())
|
||||
{
|
||||
}
|
||||
|
||||
C_DECL(VOID Game_OnTerminate())
|
||||
{
|
||||
}
|
||||
|
||||
C_DECL(VOID Game_OnDebugDraw())
|
||||
{
|
||||
}
|
||||
|
||||
C_DECL(VOID Game_OnFixedUpdate())
|
||||
{
|
||||
}
|
||||
|
||||
C_DECL(VOID Game_OnUpdate(IN FLOAT32 deltaTime))
|
||||
{
|
||||
}
|
||||
|
||||
C_DECL(VOID Game_OnResize(IN INT32 newWidth, IN INT32 newHeight))
|
||||
{
|
||||
}
|
||||
Reference in New Issue
Block a user