// Copyright (c) 2023 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT #pragma once #include "Prefab.hpp" #include "ui/UIComponent.hpp" namespace Dawn { template class UIPrefab : public Prefab { public: static void apply(T *item) { assertNotNull(item); P::prefabApply(&item->getGame()->assetManager , item); } static T * prefabCreate(UICanvas *canvas) { T * item = canvas->addElement(); P::apply(item); return item; } }; }