CSEngine
Loading...
Searching...
No Matches
TransformComponent.h
1#pragma once
2
3#include "SComponent.h"
4#include "../Util/Interface/TransformInterface.h"
5#include "../Util/Matrix.h"
6
7
8namespace CSE {
9
11 public:
12 COMPONENT_DEFINE_CONSTRUCTOR(TransformComponent);
13
14 ~TransformComponent() override;
15
16 void Init() override;
17
18 void Tick(float elapsedTime) override;
19
20 void Exterminate() override;
21
22 SComponent* Clone(SGameObject* object) override;
23
24 mat4 GetMatrix() const;
25
26 vec3* GetPosition();
27
28 vec3 GetScale() const;
29
30 Quaternion GetRotation() const;
31
32 void SetMatrix(const mat4& matrix);
33
34 void SetValue(std::string name_str, Arguments value) override;
35
36 std::string PrintValue() const override;
37
38 private:
39 mat4 GetFinalMatrix() const;
40
41 private:
42 mat4 m_f_matrix;
43 vec3 m_f_position;
44 vec3 m_f_scale;
45 Quaternion m_f_rotation;
46 };
47
48}