// 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 { public: SimpleTexturedMaterial *material; static std::vector prefabAssets(AssetManager *man) { return std::vector(); } SimpleSpinningCubePrefab(Scene *s, sceneitemid_t i) : SceneItemPrefab(s, i) { } void prefabInit(AssetManager *man) override { auto meshRenderer = this->addComponent(); auto meshHost = this->addComponent(); material = this->addComponent(); auto spinning = this->addComponent(); auto collider = this->addComponent(); } }; }