39 lines
1.1 KiB
C++
39 lines
1.1 KiB
C++
// Copyright (c) 2022 Dominic Masters
|
|
//
|
|
// This software is released under the MIT License.
|
|
// https://opensource.org/licenses/MIT
|
|
|
|
#pragma once
|
|
#include "prefab/SceneItemPrefab.hpp"
|
|
#include "scene/components/Components.hpp"
|
|
#include "display/mesh/CubeMesh.hpp"
|
|
|
|
namespace Dawn {
|
|
class SimpleCubePrefab : public SceneItemPrefab<SimpleCubePrefab> {
|
|
public:
|
|
MeshRenderer *renderer = nullptr;
|
|
MeshHost *host = nullptr;
|
|
Material *material = nullptr;
|
|
|
|
static std::vector<Asset*> prefabAssets() {
|
|
return std::vector<Asset*>();
|
|
}
|
|
|
|
SimpleCubePrefab(Scene *scene, sceneitemid_t id) :
|
|
SceneItemPrefab(scene, id)
|
|
{
|
|
|
|
}
|
|
|
|
void prefabInit() override {
|
|
this->renderer = this->addComponent<MeshRenderer>();
|
|
this->host = this->addComponent<MeshHost>();
|
|
this->material = this->addComponent<Material>();
|
|
|
|
this->host->mesh.createBuffers(CUBE_VERTICE_COUNT, CUBE_INDICE_COUNT);
|
|
CubeMesh::buffer(&this->host->mesh, glm::vec3(-0.5f, -0.5f, -0.5f), glm::vec3(1, 1, 1), 0, 0);
|
|
|
|
std::cout << "Preab Init" << std::endl;
|
|
}
|
|
};
|
|
} |