Files
Dawn/src/dawn/prefabs/SimpleSpinningCubePrefab.hpp

39 lines
1.3 KiB
C++

// Copyright (c) 2023 Dominic Masters
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
#pragma once
#include "prefab/SceneItemPrefab.hpp"
#include "display/mesh/CubeMesh.hpp"
#include "scene/components/display/mesh/MeshRenderer.hpp"
#include "scene/components/display/mesh/CubeMeshHost.hpp"
#include "scene/components/display/material/SimpleTexturedMaterial.hpp"
#include "scene/components/example/ExampleSpin.hpp"
#include "scene/components/physics/3d/CubeCollider.hpp"
namespace Dawn {
class SimpleSpinningCubePrefab :
public SceneItemPrefab<SimpleSpinningCubePrefab>
{
public:
SimpleTexturedMaterial *material;
static std::vector<Asset*> prefabAssets(AssetManager *man) {
return std::vector<Asset*>();
}
SimpleSpinningCubePrefab(Scene *s, sceneitemid_t i) :
SceneItemPrefab(s, i)
{
}
void prefabInit(AssetManager *man) override {
auto meshRenderer = this->addComponent<MeshRenderer>();
auto meshHost = this->addComponent<CubeMeshHost>();
material = this->addComponent<SimpleTexturedMaterial>();
auto spinning = this->addComponent<ExampleSpin>();
auto collider = this->addComponent<CubeCollider>();
}
};
}