33 lines
998 B
C++
33 lines
998 B
C++
#pragma once
|
|
|
|
#include "MetaPlayer/RuntimeUiPreviewSession.h"
|
|
|
|
#include "MetaCore/engine/render/SimplePbrShaderLibrary.h"
|
|
#include "MetaCore/engine/runtime_ui/RmlUiBridge.h"
|
|
#include "MetaCore/engine/scene/Scene.h"
|
|
#include "MetaCore/engine/scene/SceneSerializer.h"
|
|
#include "MetaCore/platform/panda/PandaPlatformContext.h"
|
|
#include "MetaCore/platform/panda/PandaRenderBackend.h"
|
|
|
|
#include <filesystem>
|
|
|
|
namespace metacore::player {
|
|
|
|
class PlayerApplication {
|
|
public:
|
|
bool initialize(const std::filesystem::path& scene_file);
|
|
int run();
|
|
void shutdown();
|
|
|
|
private:
|
|
std::filesystem::path scene_file_;
|
|
metacore::platform::panda::PandaPlatformContext platform_;
|
|
metacore::platform::panda::PandaRenderBackend render_backend_;
|
|
metacore::engine::runtime_ui::RmlUiBridge runtime_ui_;
|
|
metacore::engine::scene::SceneSerializer scene_serializer_;
|
|
metacore::engine::scene::Scene scene_{};
|
|
RuntimeUiPreviewSession preview_session_{};
|
|
};
|
|
|
|
} // namespace metacore::player
|