Files
WickedEngine/Editor/Translator.h
T
Turanszki Janos fa267b0e7d large refactor
2019-12-12 22:15:16 +00:00

51 lines
866 B
C++

#pragma once
#include "CommonInclude.h"
#include "wiECS.h"
class Translator
{
private:
XMFLOAT4 prevPointer;
XMFLOAT4X4 dragStart, dragEnd;
bool dragging;
bool dragStarted;
bool dragEnded;
public:
Translator();
~Translator();
void Update();
void Draw(const wiScene::CameraComponent& camera, wiGraphics::CommandList cmd) const;
wiECS::Entity entityID = wiECS::INVALID_ENTITY;
bool enabled;
enum TRANSLATOR_STATE
{
TRANSLATOR_IDLE,
TRANSLATOR_X,
TRANSLATOR_Y,
TRANSLATOR_Z,
TRANSLATOR_XY,
TRANSLATOR_XZ,
TRANSLATOR_YZ,
TRANSLATOR_XYZ,
} state;
float dist;
bool isTranslator, isScalator, isRotator;
// Check if the drag started in this exact frame
bool IsDragStarted();
XMFLOAT4X4 GetDragStart();
// Check if the drag ended in this exact frame
bool IsDragEnded();
XMFLOAT4X4 GetDragEnd();
static void LoadShaders();
};