Elevate Engine 1
Loading...
Searching...
No Matches
EditorCamera.cpp
Go to the documentation of this file.
1#include "EditorCamera.h"
2
6
7namespace Elevate
8{
10 : Camera(fov, false) { }
11
13 {
14 float baseCamSpeed = 0.5f;
16 {
17 baseCamSpeed = 2.5f;
18 }
19 float cameraSpeed = baseCamSpeed * Time::GetDeltaTime();
20
21 glm::vec3 offset = { 0.0f, 0.0f, 0.0f };
23 offset += cameraSpeed * GetFrontVec();
25 offset -= cameraSpeed * GetFrontVec();
27 offset -= cameraSpeed * GetRightVec();
29 offset += cameraSpeed * GetRightVec();
31
32 if (m_followCursor)
33 {
34 float xpos = Input::GetMouseX();
35 float ypos = Input::GetMouseY();
36
37 float xoffset = (xpos - m_lastX) * m_sensitivity;
38 float yoffset = (m_lastY - ypos) * m_sensitivity;
39
40 m_lastX = xpos;
41 m_lastY = ypos;
42
43 gameObject->GetRotation().y += xoffset;
44 gameObject->GetRotation().x += yoffset;
45
48 }
49 }
50
52 {
54 {
56 {
57 m_followCursor = true;
58 m_lastX = Input::GetMouseX();
59 m_lastY = Input::GetMouseY();
60 }
62 {
63 m_followCursor = false;
64 }
65 }
66 }
67
69 {
70 gameObject->GetRotation().y = -90.0f;
72 }
73
75 {
76 if (gameObject->GetRotation().x > 89.0f)
77 gameObject->GetRotation().x = 89.0f;
78 if (gameObject->GetRotation().x < -89.0f)
79 gameObject->GetRotation().x = -89.0f;
80 }
81}
#define EE_KEY_D
Definition KeyCodes.h:25
#define EE_KEY_A
Definition KeyCodes.h:22
#define EE_KEY_S
Definition KeyCodes.h:40
#define EE_KEY_W
Definition KeyCodes.h:44
#define EE_KEY_LEFT_SHIFT
Definition KeyCodes.h:117
#define EE_MOUSE_BUTTON_RIGHT
void UpdateCameraVectors()
Definition Camera.cpp:111
void Init() override
Definition Camera.cpp:31
const glm::vec3 & GetRightVec() const
Definition Camera.h:29
const glm::vec3 & GetFrontVec() const
Definition Camera.h:28
GameObject * gameObject
Definition Component.h:73
EditorCamera(float fov=60.0f)
void Update() override
void OnNotify(Event &event) override
void Init() override
bool IsInCategory(EventCategory category)
Definition Event.h:48
void SetPosition(glm::vec3 pos)
static bool IsMouseButtonUp(int button)
Definition Input.h:41
static bool IsMouseButtonDown(int button)
Definition Input.h:39
static float GetMouseX()
Definition Input.h:44
static float GetMouseY()
Definition Input.h:45
static bool IsKeyPressed(int keycode)
Definition Input.h:36
static float GetDeltaTime()
Definition Time.h:12
@ EventCategoryMouseButton
Definition Event.h:27