summaryrefslogtreecommitdiff
path: root/src/engine/World.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/World.cpp')
-rw-r--r--src/engine/World.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/engine/World.cpp b/src/engine/World.cpp
index b14c45219..5cd85213b 100644
--- a/src/engine/World.cpp
+++ b/src/engine/World.cpp
@@ -254,6 +254,10 @@ void World::TickObjects60fps() {
}
}
+ParticleEmitter* World::AddEmitter(ParticleEmitter* emitter) {
+ Emitters.push_back(emitter);
+ return Emitters.back();
+}
void World::DrawObjects(s32 cameraId) {
for (const auto& object : Objects) {
@@ -261,6 +265,18 @@ void World::DrawObjects(s32 cameraId) {
}
}
+void World::TickParticles() {
+ for (const auto& emitter : Emitters) {
+ emitter->Tick();
+ }
+}
+
+void World::DrawParticles(s32 cameraId) {
+ for (const auto& emitter : Emitters) {
+ emitter->Draw(cameraId);
+ }
+}
+
Object* World::GetObjectByIndex(size_t index) {
//if (index < this->Objects.size()) {
// Assuming GameActor::a is accessible, use reinterpret_cast if needed