Monad Engine da02fba2
> Undercity Codex_
Loading...
Searching...
No Matches
MeshComponent.h
Go to the documentation of this file.
1#pragma once
2
3#include "scene/Component.h"
4#include <memory>
5
6namespace eng
7{
8 class Material;
9 class Mesh;
10
11 class MeshComponent : public Component
12 {
14 public:
15 MeshComponent() = default;
16 MeshComponent(const std::shared_ptr<Material>& material, const std::shared_ptr<Mesh>& mesh);
17 void LoadProperties(const nlohmann::json& json) override;
18 void Update(float deltaTime) override;
19
20 void SetMaterial(const std::shared_ptr<Material>& material);
21 void SetMesh(const std::shared_ptr<Mesh>& mesh);
22
23 private:
24 std::shared_ptr<Material> m_material;
25 std::shared_ptr<Mesh> m_mesh;
26 };
27}
std::shared_ptr< Material > material
std::shared_ptr< Mesh > mesh
void Update(float deltaTime) override
MeshComponent()=default
void SetMesh(const std::shared_ptr< Mesh > &mesh)
void LoadProperties(const nlohmann::json &json) override
void SetMaterial(const std::shared_ptr< Material > &material)
#define COMPONENT(ComponentClass)
Definition Component.h:105