Skip to content

Commit

Permalink
Added maps
Browse files Browse the repository at this point in the history
  • Loading branch information
denis authored and denis committed Aug 1, 2024
1 parent c951db6 commit 367c8ab
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 27 deletions.
6 changes: 3 additions & 3 deletions Engine/include/SceneObjects/Mesh.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,16 @@ namespace Prisma {
AABBData aabbData();

void addComponent(std::shared_ptr<Prisma::Component> component);
void removeComponent(int index);
void removeComponent(const std::string& name);

std::vector<std::shared_ptr<Prisma::Component>> components();
std::map<std::string,std::shared_ptr<Prisma::Component>> components();

unsigned int vectorId();
protected:
std::shared_ptr<VerticesData> m_vertices;
std::shared_ptr<Prisma::MaterialComponent> m_material;

std::vector<std::shared_ptr<Prisma::Component>> m_components;
std::map<std::string,std::shared_ptr<Prisma::Component>> m_components;

unsigned int m_vectorId;
AABBData m_aabbData;
Expand Down
32 changes: 16 additions & 16 deletions Engine/src/Handlers/ComponentsHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ void Prisma::ComponentsHandler::updateStart() {
for(const auto& mesh: meshes){
auto components=mesh->components();
for(const auto& component: components){
if(!component->isStart()){
component->start();
component->isStart(true);
if(!component.second->isStart()){
component.second->start();
component.second->isStart(true);
}
}
}
Expand All @@ -16,9 +16,9 @@ void Prisma::ComponentsHandler::updateStart() {
for (const auto& mesh : animateMeshes) {
auto components = mesh->components();
for (const auto& component : components) {
if (!component->isStart()) {
component->start();
component->isStart(true);
if (!component.second->isStart()) {
component.second->start();
component.second->isStart(true);
}
}
}
Expand All @@ -30,9 +30,9 @@ void Prisma::ComponentsHandler::updateUi()
for (const auto& mesh : meshes) {
auto components = mesh->components();
for (const auto& component : components) {
if (!component->isUi()) {
component->ui();
component->isUi(true);
if (!component.second->isUi()) {
component.second->ui();
component.second->isUi(true);
}
}
}
Expand All @@ -41,9 +41,9 @@ void Prisma::ComponentsHandler::updateUi()
for (const auto& mesh : animateMeshes) {
auto components = mesh->components();
for (const auto& component : components) {
if (!component->isUi()) {
component->ui();
component->isUi(true);
if (!component.second->isUi()) {
component.second->ui();
component.second->isUi(true);
}
}
}
Expand All @@ -54,8 +54,8 @@ void Prisma::ComponentsHandler::updateComponents() {
for(const auto& mesh: meshes){
auto components=mesh->components();
for(const auto& component: components){
if(component->isStart()) {
component->update();
if(component.second->isStart()) {
component.second->update();
}
}
}
Expand All @@ -64,8 +64,8 @@ void Prisma::ComponentsHandler::updateComponents() {
for (const auto& mesh : animateMeshes) {
auto components = mesh->components();
for (const auto& component : components) {
if (component->isStart()) {
component->update();
if (component.second->isStart()) {
component.second->update();
}
}
}
Expand Down
8 changes: 4 additions & 4 deletions Engine/src/SceneObjects/Mesh.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -119,13 +119,13 @@ Prisma::Mesh::AABBData Prisma::Mesh::aabbData() {

void Prisma::Mesh::addComponent(std::shared_ptr<Prisma::Component> component) {
component->parent(this);
m_components.push_back(component);
m_components[component->name()]=component;
}

std::vector<std::shared_ptr<Prisma::Component>> Prisma::Mesh::components() {
std::map<std::string,std::shared_ptr<Prisma::Component>> Prisma::Mesh::components() {
return m_components;
}

void Prisma::Mesh::removeComponent(int index) {
m_components.erase(m_components.begin()+index);
void Prisma::Mesh::removeComponent(const std::string& name) {
m_components.erase(name);
}
8 changes: 4 additions & 4 deletions GUI/src/MeshInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ void Prisma::MeshInfo::showSelected(const Prisma::MeshInfo::MeshData& meshData)

meshInfoData.physicsComponent = nullptr;
for (auto component : meshData.mesh->components()) {
auto physicsMesh = std::dynamic_pointer_cast<Prisma::PhysicsMeshComponent>(component);
auto physicsMesh = std::dynamic_pointer_cast<Prisma::PhysicsMeshComponent>(component.second);
if (physicsMesh) {
meshInfoData.physicsComponent = physicsMesh;
}
Expand Down Expand Up @@ -123,9 +123,9 @@ void Prisma::MeshInfo::showComponents(const MeshData& meshData) {
auto components=meshData.mesh->components();
for(const auto& component: components){
ImGui::Separator();
if(component->isUi()){
auto fields=component->globalVars();
ImGui::Text(component->name().c_str());
if(component.second->isUi()){
auto fields=component.second->globalVars();
ImGui::Text(component.second->name().c_str());
for(auto field:fields){
varsDispatcher(field);
}
Expand Down

0 comments on commit 367c8ab

Please sign in to comment.