EditorWidgetSystem that takes care of moving widgets around
This commit is contained in:
@@ -34,7 +34,7 @@ protected:
|
||||
|
||||
const std::string m_ComponentType;
|
||||
|
||||
virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& cUniformScale, double dt) = 0;
|
||||
virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& cComponent, double dt) = 0;
|
||||
};
|
||||
|
||||
class ImpureSystem : public virtual System
|
||||
|
||||
@@ -1,6 +1,41 @@
|
||||
#ifndef EditorWidgetSystem_h__
|
||||
#define EditorWidgetSystem_h__
|
||||
|
||||
#include <imgui/imgui.h>
|
||||
#include "../GLM.h"
|
||||
#include "../Core/System.h"
|
||||
#include "../Rendering/IRenderer.h"
|
||||
#include "../Rendering/Util/ScreenCoords.h"
|
||||
#include "../Core/EMouseMove.h"
|
||||
#include "../Core/EMousePress.h"
|
||||
#include "../Core/EMouseRelease.h"
|
||||
|
||||
class EditorWidgetSystem : public ImpureSystem, PureSystem
|
||||
{
|
||||
public:
|
||||
EditorWidgetSystem(World* world, EventBroker* eventBroker, IRenderer* renderer);
|
||||
|
||||
virtual void Update(double dt) override;
|
||||
virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& cEditorWidget, double dt) override;
|
||||
|
||||
void debugPrintVector(const char* name, glm::vec3 axisNDC);
|
||||
|
||||
void debugPrintVector(const char* name, glm::vec4 axisNDC);
|
||||
void debugPrintVector(const char* name, glm::vec2 axisNDC);
|
||||
private:
|
||||
IRenderer* m_Renderer;
|
||||
|
||||
// State
|
||||
EntityWrapper m_PickEntity = EntityWrapper::Invalid;
|
||||
PickData m_PickData;
|
||||
glm::vec2 m_MouseDelta;
|
||||
|
||||
EventRelay<EditorWidgetSystem, Events::MouseMove> m_EMouseMove;
|
||||
bool OnMouseMove(const Events::MouseMove& e);
|
||||
EventRelay<EditorWidgetSystem, Events::MousePress> m_EMousePress;
|
||||
bool OnMousePress(const Events::MousePress& e);
|
||||
EventRelay<EditorWidgetSystem, Events::MouseRelease> m_EMouseRelease;
|
||||
bool OnMouseRelease(const Events::MouseRelease& e);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -7,4 +7,5 @@
|
||||
#include <glm/gtx/rotate_vector.hpp>
|
||||
#include <glm/gtc/quaternion.hpp>
|
||||
#include <glm/gtx/quaternion.hpp>
|
||||
#include <glm/gtc/type_ptr.hpp>
|
||||
#include <glm/gtc/type_ptr.hpp>
|
||||
#include <glm/gtx/projection.hpp>
|
||||
Reference in New Issue
Block a user