fixed initialzation
This commit is contained in:
parent
7def32a83a
commit
69924192a2
6 changed files with 52 additions and 28 deletions
|
@ -237,12 +237,14 @@ public:
|
|||
m_toggle_ui.func.bind<&GUIEditor::onAction>(this);
|
||||
m_toggle_ui.is_selected.bind<&GUIEditor::isOpen>(this);
|
||||
app.addWindowAction(&m_toggle_ui);
|
||||
}
|
||||
|
||||
m_editor = &app.getWorldEditor();
|
||||
Engine& engine = app.getEngine();
|
||||
void init() {
|
||||
m_editor = &m_app.getWorldEditor();
|
||||
Engine& engine = m_app.getEngine();
|
||||
Renderer& renderer = *static_cast<Renderer*>(engine.getPluginManager().getPlugin("renderer"));
|
||||
PipelineResource* pres = engine.getResourceManager().load<PipelineResource>(Path("pipelines/gui_editor.pln"));
|
||||
m_pipeline = Pipeline::create(renderer, pres, "", allocator);
|
||||
m_pipeline = Pipeline::create(renderer, pres, "", m_app.getAllocator());
|
||||
}
|
||||
|
||||
|
||||
|
@ -906,6 +908,7 @@ struct StudioAppPlugin : StudioApp::IPlugin
|
|||
|
||||
void init() override
|
||||
{
|
||||
m_gui_editor.init();
|
||||
m_app.registerComponent("", "gui_button", "GUI / Button");
|
||||
m_app.registerComponent("", "gui_canvas", "GUI / Canvas");
|
||||
m_app.registerComponent(ICON_FA_IMAGE, "gui_image", "GUI / Image", Sprite::TYPE, "Sprite");
|
||||
|
|
|
@ -58,17 +58,21 @@ GameView::GameView(StudioApp& app)
|
|||
Engine& engine = app.getEngine();
|
||||
auto f = &LuaWrapper::wrapMethodClosure<&GameView::forceViewport>;
|
||||
LuaWrapper::createSystemClosure(engine.getState(), "GameView", this, "forceViewport", f);
|
||||
}
|
||||
|
||||
IAllocator& allocator = app.getAllocator();
|
||||
|
||||
void GameView::init() {
|
||||
IAllocator& allocator = m_app.getAllocator();
|
||||
m_toggle_ui.init("Game View", "Toggle game view", "game_view", "", true);
|
||||
m_toggle_ui.func.bind<&GameView::onAction>(this);
|
||||
m_toggle_ui.is_selected.bind<&GameView::isOpen>(this);
|
||||
app.addWindowAction(&m_toggle_ui);
|
||||
m_app.addWindowAction(&m_toggle_ui);
|
||||
|
||||
m_fullscreen_action.init("Game View fullscreen", "Game View fullscreen", "game_view_fullscreen", "", true);
|
||||
m_fullscreen_action.func.bind<&GameView::toggleFullscreen>(this);
|
||||
app.addAction(&m_fullscreen_action);
|
||||
m_app.addAction(&m_fullscreen_action);
|
||||
|
||||
Engine& engine = m_app.getEngine();
|
||||
auto* renderer = (Renderer*)engine.getPluginManager().getPlugin("renderer");
|
||||
PipelineResource* pres = engine.getResourceManager().load<PipelineResource>(Path("pipelines/main.pln"));
|
||||
m_pipeline = Pipeline::create(*renderer, pres, "GAME_VIEW", engine.getAllocator());
|
||||
|
|
|
@ -38,6 +38,7 @@ public:
|
|||
bool isOpen() const { return m_is_open; }
|
||||
void onAction() { m_is_open = !m_is_open; }
|
||||
void onWindowGUI() override;
|
||||
void init();
|
||||
|
||||
public:
|
||||
bool m_is_open;
|
||||
|
|
|
@ -1438,12 +1438,6 @@ struct ModelPlugin final : AssetBrowser::IPlugin, AssetCompiler::IPlugin
|
|||
, m_fbx_importer(app)
|
||||
{
|
||||
app.getAssetCompiler().registerExtension("fbx", Model::TYPE);
|
||||
createPreviewUniverse();
|
||||
createTileUniverse();
|
||||
m_viewport.is_ortho = false;
|
||||
m_viewport.fov = degreesToRadians(60.f);
|
||||
m_viewport.near = 0.1f;
|
||||
m_viewport.far = 10000.f;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1458,6 +1452,16 @@ struct ModelPlugin final : AssetBrowser::IPlugin, AssetCompiler::IPlugin
|
|||
}
|
||||
|
||||
|
||||
void init() {
|
||||
createPreviewUniverse();
|
||||
createTileUniverse();
|
||||
m_viewport.is_ortho = false;
|
||||
m_viewport.fov = degreesToRadians(60.f);
|
||||
m_viewport.near = 0.1f;
|
||||
m_viewport.far = 10000.f;
|
||||
}
|
||||
|
||||
|
||||
Meta getMeta(const Path& path) const
|
||||
{
|
||||
Meta meta;
|
||||
|
@ -2587,14 +2591,6 @@ struct EnvironmentProbePlugin final : PropertyGrid::IPlugin
|
|||
: m_app(app)
|
||||
, m_probes(app.getAllocator())
|
||||
{
|
||||
Engine& engine = app.getEngine();
|
||||
PluginManager& plugin_manager = engine.getPluginManager();
|
||||
Renderer* renderer = static_cast<Renderer*>(plugin_manager.getPlugin("renderer"));
|
||||
IAllocator& allocator = app.getAllocator();
|
||||
ResourceManagerHub& rm = engine.getResourceManager();
|
||||
PipelineResource* pres = rm.load<PipelineResource>(Path("pipelines/main.pln"));
|
||||
m_pipeline = Pipeline::create(*renderer, pres, "PROBE", allocator);
|
||||
m_ibl_filter_shader = rm.load<Shader>(Path("pipelines/ibl_filter.shd"));
|
||||
}
|
||||
|
||||
|
||||
|
@ -2603,6 +2599,16 @@ struct EnvironmentProbePlugin final : PropertyGrid::IPlugin
|
|||
m_ibl_filter_shader->decRefCount();
|
||||
}
|
||||
|
||||
void init() {
|
||||
Engine& engine = m_app.getEngine();
|
||||
PluginManager& plugin_manager = engine.getPluginManager();
|
||||
Renderer* renderer = static_cast<Renderer*>(plugin_manager.getPlugin("renderer"));
|
||||
IAllocator& allocator = m_app.getAllocator();
|
||||
ResourceManagerHub& rm = engine.getResourceManager();
|
||||
PipelineResource* pres = rm.load<PipelineResource>(Path("pipelines/main.pln"));
|
||||
m_pipeline = Pipeline::create(*renderer, pres, "PROBE", allocator);
|
||||
m_ibl_filter_shader = rm.load<Shader>(Path("pipelines/ibl_filter.shd"));
|
||||
}
|
||||
|
||||
bool saveCubemap(u64 probe_guid, const Vec4* data, u32 texture_size, u32 mips_count)
|
||||
{
|
||||
|
@ -3769,6 +3775,11 @@ struct StudioAppPlugin : StudioApp::IPlugin
|
|||
property_grid.addPlugin(m_model_properties_plugin);
|
||||
property_grid.addPlugin(m_env_probe_plugin);
|
||||
property_grid.addPlugin(m_terrain_plugin);
|
||||
|
||||
m_scene_view.init();
|
||||
m_game_view.init();
|
||||
m_env_probe_plugin.init();
|
||||
m_model_plugin.init();
|
||||
}
|
||||
|
||||
void showEnvironmentProbeGizmo(UniverseView& view, ComponentUID cmp) {
|
||||
|
|
|
@ -596,15 +596,7 @@ SceneView::SceneView(StudioApp& app)
|
|||
|
||||
Engine& engine = m_editor.getEngine();
|
||||
IAllocator& allocator = engine.getAllocator();
|
||||
auto* renderer = static_cast<Renderer*>(engine.getPluginManager().getPlugin("renderer"));
|
||||
PipelineResource* pres = engine.getResourceManager().load<PipelineResource>(Path("pipelines/main.pln"));
|
||||
m_pipeline = Pipeline::create(*renderer, pres, "SCENE_VIEW", engine.getAllocator());
|
||||
m_pipeline->addCustomCommandHandler("renderSelection").callback.bind<&SceneView::renderSelection>(this);
|
||||
m_pipeline->addCustomCommandHandler("renderGizmos").callback.bind<&SceneView::renderGizmos>(this);
|
||||
m_pipeline->addCustomCommandHandler("renderIcons").callback.bind<&SceneView::renderIcons>(this);
|
||||
|
||||
ResourceManagerHub& rm = engine.getResourceManager();
|
||||
m_debug_shape_shader = rm.load<Shader>(Path("pipelines/debug_shape.shd"));
|
||||
|
||||
m_copy_move_action.init("Duplicate move", "Duplicate entity when moving with gizmo", "duplicateEntityMove", "", false);
|
||||
m_orbit_action.init("Orbit", "Orbit with RMB", "orbitRMB", "", false);
|
||||
|
@ -636,6 +628,18 @@ SceneView::SceneView(StudioApp& app)
|
|||
m_editor.setView(m_view);
|
||||
}
|
||||
|
||||
void SceneView::init() {
|
||||
Engine& engine = m_editor.getEngine();
|
||||
auto* renderer = static_cast<Renderer*>(engine.getPluginManager().getPlugin("renderer"));
|
||||
PipelineResource* pres = engine.getResourceManager().load<PipelineResource>(Path("pipelines/main.pln"));
|
||||
m_pipeline = Pipeline::create(*renderer, pres, "SCENE_VIEW", engine.getAllocator());
|
||||
m_pipeline->addCustomCommandHandler("renderSelection").callback.bind<&SceneView::renderSelection>(this);
|
||||
m_pipeline->addCustomCommandHandler("renderGizmos").callback.bind<&SceneView::renderGizmos>(this);
|
||||
m_pipeline->addCustomCommandHandler("renderIcons").callback.bind<&SceneView::renderIcons>(this);
|
||||
|
||||
ResourceManagerHub& rm = engine.getResourceManager();
|
||||
m_debug_shape_shader = rm.load<Shader>(Path("pipelines/debug_shape.shd"));
|
||||
}
|
||||
|
||||
void SceneView::resetCameraSpeed()
|
||||
{
|
||||
|
|
|
@ -36,6 +36,7 @@ struct SceneView : StudioApp::GUIPlugin
|
|||
void onWindowGUI() override;
|
||||
Pipeline* getPipeline() { return m_pipeline.get(); }
|
||||
const char* getName() const override { return "scene_view"; }
|
||||
void init();
|
||||
|
||||
private:
|
||||
void manipulate();
|
||||
|
|
Loading…
Reference in a new issue