world generation

This commit is contained in:
Kbz-8
2025-05-10 00:49:17 +02:00
parent 694009e6e4
commit 55fa8b2c17
19 changed files with 222 additions and 42 deletions

View File

@@ -1,3 +1,4 @@
#include "Graphics/Narrator.h"
#include <Graphics/Scene.h>
#include <Renderer/Renderer.h>
#include <Renderer/RenderCore.h>
@@ -63,6 +64,39 @@ namespace Scop
return *sprite;
}
void Scene::RemoveActor(Actor& actor) noexcept
{
auto it = std::find_if(m_actors.begin(), m_actors.end(), [actor](const std::shared_ptr<Actor> lhs) { return actor.GetUUID() == lhs->GetUUID(); });
if(it == m_actors.end())
{
Error("Actor not found");
return;
}
m_actors.erase(it);
}
void Scene::RemoveNarrator(Narrator& narrator) noexcept
{
auto it = std::find_if(m_narrators.begin(), m_narrators.end(), [narrator](const std::shared_ptr<Narrator> lhs) { return narrator.GetUUID() == lhs->GetUUID(); });
if(it == m_narrators.end())
{
Error("Narrator not found");
return;
}
m_narrators.erase(it);
}
void Scene::RemoveSprite(Sprite& sprite) noexcept
{
auto it = std::find_if(m_sprites.begin(), m_sprites.end(), [sprite](const std::shared_ptr<Sprite> lhs) { return sprite.GetUUID() == lhs->GetUUID(); });
if(it == m_sprites.end())
{
Error("Sprite not found");
return;
}
m_sprites.erase(it);
}
void Scene::SwitchToChild(std::string_view name) const noexcept
{
auto it = std::find_if(m_scene_children.begin(), m_scene_children.end(), [name](const Scene& scene){ return name == scene.GetName(); });