27 lines
593 B
C++
27 lines
593 B
C++
#pragma once
|
|
|
|
#include "Mesh.h"
|
|
#include "Transform.h"
|
|
#include "Material.h"
|
|
#include <memory>
|
|
|
|
class Entity
|
|
{
|
|
public:
|
|
Entity(
|
|
std::shared_ptr<Material> _material,
|
|
std::shared_ptr<Mesh> _mesh);
|
|
|
|
void Draw(std::shared_ptr<Camera> _camera, DirectX::XMFLOAT3 _ambient, std::vector<Light> _lights);
|
|
|
|
Transform* GetTransform();
|
|
std::shared_ptr<Mesh> GetMesh();
|
|
std::shared_ptr<Material> GetMaterial();
|
|
|
|
void SetMaterial(std::shared_ptr<Material> _material);
|
|
|
|
private:
|
|
Transform transform;
|
|
std::shared_ptr<Mesh> mesh;
|
|
std::shared_ptr<Material> material;
|
|
};
|