Added SceneItemComponent registry (unfinished)
This commit is contained in:
@ -9,6 +9,7 @@ target_sources(${DAWN_TARGET_NAME}
|
||||
Scene.cpp
|
||||
SceneItem.cpp
|
||||
SceneItemComponent.cpp
|
||||
SceneItemComponentList.cpp
|
||||
)
|
||||
|
||||
# Subdirs
|
||||
|
8
src/dawn/scene/SceneItemComponentList.cpp
Normal file
8
src/dawn/scene/SceneItemComponentList.cpp
Normal file
@ -0,0 +1,8 @@
|
||||
// Copyright (c) 2023 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#include "SceneItemComponentList.hpp"
|
||||
|
||||
using namespace Dawn;
|
25
src/dawn/scene/SceneItemComponentList.hpp
Normal file
25
src/dawn/scene/SceneItemComponentList.hpp
Normal file
@ -0,0 +1,25 @@
|
||||
// Copyright (c) 2023 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "dawnlibs.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
struct SceneItemComponentRegister {
|
||||
int32_t i;
|
||||
};
|
||||
|
||||
class SceneItemComponentList {
|
||||
private:
|
||||
std::vector<struct SceneItemComponentRegister> components;
|
||||
|
||||
protected:
|
||||
template<class T>
|
||||
void append() {
|
||||
struct SceneItemComponentRegister r;
|
||||
this->components.push_back(r);
|
||||
}
|
||||
};
|
||||
}
|
@ -14,4 +14,13 @@ target_sources(${DAWN_TARGET_NAME}
|
||||
PixelPerfectCamera.cpp
|
||||
TiledSprite.cpp
|
||||
SimpleRenderTargetQuad.cpp
|
||||
)
|
||||
)
|
||||
|
||||
tool_scenecomponent(AnimationController scene/components/display/AnimationController.hpp)
|
||||
tool_scenecomponent(Camera scene/components/display/Camera.hpp)
|
||||
tool_scenecomponent(Material scene/components/display/Material.hpp)
|
||||
tool_scenecomponent(MeshHost scene/components/display/MeshHost.hpp)
|
||||
tool_scenecomponent(MeshRenderer scene/components/display/MeshRenderer.hpp)
|
||||
tool_scenecomponent(PixelPerfectCamera scene/components/display/PixelPerfectCamera.hpp)
|
||||
tool_scenecomponent(TiledSprite scene/components/display/TiledSprite.hpp)
|
||||
tool_scenecomponent(SimpleRenderTargetQuad scene/components/display/SimpleRenderTargetQuad.hpp)
|
@ -7,4 +7,6 @@
|
||||
target_sources(${DAWN_TARGET_NAME}
|
||||
PRIVATE
|
||||
ExampleSpin.cpp
|
||||
)
|
||||
)
|
||||
|
||||
tool_scenecomponent(ExampleSpin scene/components/example/ExampleSpin.hpp)
|
@ -8,4 +8,7 @@ target_sources(${DAWN_TARGET_NAME}
|
||||
PRIVATE
|
||||
Collider3D.cpp
|
||||
CubeCollider.cpp
|
||||
)
|
||||
)
|
||||
|
||||
tool_scenecomponent(Collider3D scene/components/physics/3d/collider/Collider3D.hpp)
|
||||
tool_scenecomponent(CubeCollider scene/components/physics/3d/collider/CubeCollider.hpp)
|
@ -8,4 +8,7 @@ target_sources(${DAWN_TARGET_NAME}
|
||||
PRIVATE
|
||||
SubSceneCameraAlign.cpp
|
||||
SubSceneController.cpp
|
||||
)
|
||||
)
|
||||
|
||||
tool_scenecomponent(SubSceneCameraAlign scene/components/scene/SubSceneCameraAlign.hpp)
|
||||
tool_scenecomponent(SubSceneController scene/components/scene/SubSceneController.hpp)
|
@ -7,4 +7,6 @@
|
||||
target_sources(${DAWN_TARGET_NAME}
|
||||
PRIVATE
|
||||
UICanvas.cpp
|
||||
)
|
||||
)
|
||||
|
||||
tool_scenecomponent(UICanvas scene/components/ui/UICanvas.hpp)
|
Reference in New Issue
Block a user