void ManagerModel::AddExplosion(Vec2 startPosition, Model::EntityType entity) { Explosion *explosion = DBG_NEW Explosion(); explosion->OnInit(this); explosion->mPos = startPosition; if (entity == ENTITY_ASTEROID) { explosion->mScale /= 1.5; } else if (entity == ENTITY_PLAYER) { explosion->mScale *= 2; } else if (entity == ENTITY_ENEMIEBOSS) { explosion->mScale *= 3; } mEntities.push_back(explosion); for (auto *view : mViews) { view->OnExplosionSpawned((Explosion*)explosion); view->PlayExplosionSoundEffect((Explosion*)explosion); } }