Adding a relationship component
The relationship component enables us to define a hierarchy through the ECS. This creates a pathway towards Inverse Kinematics
This commit is contained in:
@ -199,18 +199,6 @@ void CreateTestProject(std::unique_ptr<Project>& project, Scene& scene ) {
|
||||
// Create a level and load it as the current level
|
||||
auto importer = ModelImporter();
|
||||
|
||||
// Create a cube
|
||||
auto model = importer.Import("build/Debug/Models/Cube.obj");
|
||||
auto cube = scene.AddEntity("Cube");
|
||||
|
||||
auto& render3DComponent = cube.AddComponent<Render3DComponent>();
|
||||
render3DComponent.mesh = *(model->renderable->mesh);
|
||||
|
||||
cube.GetComponent<TransformComponent>().Position = glm::vec3(1.0f, 0.0f, 5.0f);
|
||||
|
||||
auto cube2 = scene.AddEntity("Cube1");
|
||||
auto& rendercube2 = cube2.AddComponent<Render3DComponent>();
|
||||
rendercube2.mesh = *(model->renderable->mesh);
|
||||
|
||||
// create an ambient light source
|
||||
auto light = scene.AddEntity("Light");
|
||||
@ -218,5 +206,22 @@ void CreateTestProject(std::unique_ptr<Project>& project, Scene& scene ) {
|
||||
lightComponent.Color = glm::vec3(1.0f);
|
||||
|
||||
|
||||
// Create a cube
|
||||
auto model = importer.Import("build/Debug/Models/Cube.obj");
|
||||
|
||||
auto cube = scene.AddEntity("Cube");
|
||||
auto& render3DComponent = cube.AddComponent<Render3DComponent>();
|
||||
render3DComponent.mesh = *(model->renderable->mesh);
|
||||
|
||||
cube.GetComponent<TransformComponent>().Position = glm::vec3(1.0f, 0.0f, 5.0f);
|
||||
|
||||
auto cube2 = scene.AddEntity("Cube2");
|
||||
auto& rendercube2 = cube2.AddComponent<Render3DComponent>();
|
||||
rendercube2.mesh = *(model->renderable->mesh);
|
||||
|
||||
auto relationcube = cube.AddComponent<RelationComponent>(cube2);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user