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