aboutsummaryrefslogtreecommitdiff
path: root/source/EditorCore.hpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2022-04-30 13:55:20 -0700
committerrtk0c <[email protected]>2022-04-30 13:55:20 -0700
commit453e1df6fb7a5847c8a5b26bd8479451091fb69d (patch)
treee0753be4c78535a3d2697c8b7be4123b76d2ad0d /source/EditorCore.hpp
parentac153a0a9463e3877fb0066e3603b6bf15fe6706 (diff)
Changeset: 20 Add ImGuizmo for GameObjects, start to make things actually render
Diffstat (limited to 'source/EditorCore.hpp')
-rw-r--r--source/EditorCore.hpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/source/EditorCore.hpp b/source/EditorCore.hpp
index af35616..785fc6b 100644
--- a/source/EditorCore.hpp
+++ b/source/EditorCore.hpp
@@ -2,6 +2,7 @@
#include "EditorAttachment.hpp"
#include "EditorCommandPalette.hpp"
+#include "EditorUtils.hpp"
#include "GameObject.hpp"
#include "Ires.hpp"
#include "RcPtr.hpp"
@@ -55,16 +56,38 @@ public:
void Show(bool* open = nullptr);
};
+class EditorTransformEdit {
+private:
+ ImGuizmo::OPERATION mCurrentGizmoOperation = ImGuizmo::TRANSLATE;
+ ImGuizmo::MODE mCurrentGizmoMode = ImGuizmo::LOCAL;
+ glm::mat4 cubeMatrix;
+ float snap[3] = { 1.f, 1.f, 1.f };
+ float bounds[6] = { -0.5f, -0.5f, -0.5f, 0.5f, 0.5f, 0.5f };
+ float boundsSnap[3] = { 0.1f, 0.1f, 0.1f };
+ float camDistance = 8.f;
+ bool useSnap = false;
+ bool boundSizing = false;
+ bool boundSizingSnap = false;
+ bool showGrid = false;
+
+public:
+ void ShowWorld(float* cameraView, float* cameraProjection);
+ bool ShowObjectInspector(float* cameraView, float* cameraProjection, glm::vec3* pos, glm::quat* rotation, glm::vec3* scale);
+ bool ShowObject(float* cameraView, float* cameraProjection, glm::vec3* pos, glm::quat* rotation, glm::vec3* scale);
+};
+
class App;
class EditorInstance {
private:
App* mApp;
- GameWorld* mWorld;
+ RendererFrameInfo mFallbackFrameInfo;
+ const RendererFrameInfo* mCurrentFrameInfo;
GameObject* mPopupCurrent_GameObject = nullptr;
RcPtr<SpriteDefinition> mSpriteView_Instance;
EditorCommandPalette mEdCommandPalette;
EditorInspector mEdInspector;
EditorContentBrowser mEdContentBrowser;
+ EditorTransformEdit mEdTransformEdit;
int mSpriteView_Frame;
bool mSpriteView_OpenNextFrame = false;
bool mWindowVisible_ImGuiDemo = false;
@@ -75,9 +98,11 @@ private:
bool mWindowVisible_WorldProperties = true;
public:
- EditorInstance(App* app, GameWorld* world);
+ EditorInstance(App* app);
~EditorInstance();
+ void OnUpdate();
+ void OnDraw(const RendererFrameInfo& frameInfo);
void Show();
EditorInspector& GetInspector() { return mEdInspector; }