We got GameObjects / Components and shit
This commit is contained in:
19
destrum/src/Components/MeshRendererComponent.cpp
Normal file
19
destrum/src/Components/MeshRendererComponent.cpp
Normal file
@@ -0,0 +1,19 @@
|
||||
#include <destrum/Components/MeshRendererComponent.h>
|
||||
#include <destrum/ObjectModel/Transform.h>
|
||||
|
||||
|
||||
MeshRendererComponent::MeshRendererComponent(GameObject& parent): Component(parent, "MeshRendererComponent") {
|
||||
}
|
||||
|
||||
void MeshRendererComponent::Start() {
|
||||
Component::Start();
|
||||
}
|
||||
|
||||
void MeshRendererComponent::Update() {
|
||||
}
|
||||
|
||||
void MeshRendererComponent::Render(const RenderContext& ctx) {
|
||||
if (meshID != NULL_MESH_ID && materialID != NULL_MATERIAL_ID) {
|
||||
ctx.renderer.drawMesh(meshID, GetTransform().GetWorldMatrix(), materialID);
|
||||
}
|
||||
}
|
||||
17
destrum/src/Components/Rotator.cpp
Normal file
17
destrum/src/Components/Rotator.cpp
Normal file
@@ -0,0 +1,17 @@
|
||||
#include <destrum/Components/Rotator.h>
|
||||
|
||||
Rotator::Rotator(GameObject& parent, float distance, float speed):
|
||||
Component(parent, "Rotator"),
|
||||
m_Distance(distance),
|
||||
m_Speed(speed),
|
||||
m_CurrentAngle(0),
|
||||
m_OriginalPosition(GetTransform().GetWorldPosition())
|
||||
{}
|
||||
|
||||
void Rotator::Update() {
|
||||
m_CurrentAngle += m_Speed * static_cast<float>(0.001);
|
||||
const float x = cos(m_CurrentAngle) * m_Distance;
|
||||
const float y = sin(m_CurrentAngle) * m_Distance;
|
||||
GetTransform().SetLocalPosition(m_OriginalPosition + glm::vec3(x, y, 0));
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user