Cleanup GameObject includes and put it in it's own folder for components

This commit is contained in:
2024-07-07 17:04:09 -04:00
parent f5e628117b
commit 2ad82cfa5d
16 changed files with 20 additions and 22 deletions

View File

@@ -4,8 +4,6 @@
#include "Camera.hpp"
#include "GameObject.hpp"
#define GLM_ENABLE_EXPERIMENTAL
#include <glm/gtx/string_cast.hpp>
#include <tracy/Tracy.hpp>

View File

@@ -11,8 +11,6 @@
//clang-format: on
#include "Camera.hpp"
#include "GameObject.hpp"
#include "PushConstant.hpp"
#include "engine/descriptors/Descriptor.hpp"
#include "engine/descriptors/DescriptorSet.hpp"
#include "engine/descriptors/DescriptorSetLayout.hpp"

View File

@@ -9,6 +9,7 @@
#include <iostream>
#include "engine/primitives/vectors/Vector.hpp"
#include "gameobjects/GameObject.hpp"
namespace fgl::engine
{

View File

@@ -4,11 +4,11 @@
#pragma once
#include "GameObject.hpp"
#include "Window.hpp"
namespace fgl::engine
{
class GameObject;
class KeyboardMovementController
{

View File

@@ -14,7 +14,7 @@ namespace fgl::engine
GameObject GameObject::createGameObject()
{
static GameObjectID current_id { 0 };
return { current_id++ };
return GameObject( current_id++ );
}
void GameObject::drawImGui()

View File

@@ -9,7 +9,6 @@
#include <vector>
#include "engine/primitives/TransformComponent.hpp"
#include "model/Model.hpp"
namespace fgl::engine
{
@@ -100,7 +99,7 @@ namespace fgl::engine
std::shared_ptr< Model > m_model { nullptr };
std::string name {};
GameObject( GameObjectID obj_id ) : m_id( obj_id ) {}
explicit GameObject( GameObjectID obj_id ) : m_id( obj_id ) {}
FGL_DELETE_DEFAULT_CTOR( GameObject );
FGL_DELETE_COPY( GameObject );
@@ -154,15 +153,7 @@ namespace fgl::engine
GameObjectID getId() const { return m_id; }
//! Returns the name of the game object. If no name is set then the name of the model is used.
std::string& getName()
{
if ( name.empty() && m_model )
{
name = m_model->getName();
}
return name;
}
std::string& getName() { return name; }
void drawImGui();
};

View File

@@ -17,6 +17,7 @@
#include "engine/FrameInfo.hpp"
#include "engine/filesystem/scanner/FileScanner.hpp"
#include "engine/filesystem/types.hpp"
#include "engine/model/Model.hpp"
#include "engine/model/builders/SceneBuilder.hpp"
#include "engine/rendering/SwapChain.hpp"

View File

@@ -10,7 +10,6 @@
#include "builders/ModelBuilder.hpp"
#include "builders/SceneBuilder.hpp"
#include "engine/buffers/Buffer.hpp"
#include "engine/buffers/SuballocationView.hpp"
#include "engine/image/ImageView.hpp"
namespace fgl::engine

View File

@@ -16,6 +16,7 @@
#include "engine/assets/stores.hpp"
#include "engine/descriptors/DescriptorSet.hpp"
#include "engine/gameobjects/GameObject.hpp"
#include "engine/image/ImageView.hpp"
namespace fgl::engine
@@ -431,6 +432,8 @@ namespace fgl::engine
log::debug( "Mesh IDX: {}", mesh_idx );
log::debug( "Skin IDX: {}", skin_idx );
GameObject obj { GameObject::createGameObject() };
std::shared_ptr< Model > model { loadModel( mesh_idx, root ) };
assert( model );

View File

@@ -10,6 +10,7 @@
#include <filesystem>
#include <vector>
#include "engine/gameobjects/GameObject.hpp"
#include "engine/primitives/TransformComponent.hpp"
namespace fgl::engine
@@ -45,6 +46,8 @@ namespace fgl::engine
memory::Buffer& m_vertex_buffer;
memory::Buffer& m_index_buffer;
std::vector< GameObject > game_objects {};
std::vector< std::shared_ptr< Model > > models {};
void handleScene( const tinygltf::Scene& scene, const tinygltf::Model& root );

View File

@@ -10,6 +10,7 @@
#include "Attachment.hpp"
#include "RenderPass.hpp"
#include "Subpass.hpp"
#include "engine/assets/TransferManager.hpp"
namespace fgl::engine
{

View File

@@ -8,7 +8,6 @@
#include <unordered_map>
#include "engine/GameObject.hpp"
#include "engine/model/Model.hpp"
#include "engine/tree/octtree/OctTreeNode.hpp"

View File

@@ -3,7 +3,7 @@
//
#pragma once
#include "engine/GameObject.hpp"
#include "engine/gameobjects/GameObject.hpp"
#include "engine/primitives/Frustum.hpp"
#include "engine/texture/Texture.hpp"
#include "engine/utils.hpp"

View File

@@ -8,7 +8,7 @@
#include <bitset>
#include "engine/GameObject.hpp"
#include "engine/gameobjects/GameObject.hpp"
#include "engine/primitives/boxes/AxisAlignedBoundingCube.hpp"
namespace fgl::engine

View File

@@ -4,6 +4,8 @@
#include "QuadTree.hpp"
#include "engine/gameobjects/GameObject.hpp"
namespace fgl::engine
{
bool QuadTreeNode::contains( const WorldCoordinate coord ) const

View File

@@ -6,10 +6,12 @@
#include <vector>
#include "engine/GameObject.hpp"
#include "engine/primitives/Scale.hpp"
#include "engine/primitives/points/Coordinate.hpp"
namespace fgl::engine
{
class GameObject;
enum class CoordinateSpace;
class QuadTreeNode;