Mam system efektów, jest klasa broń która ma na początku tworzony obiekt Effect, np. podpalenie, trucizna itd. Jak tworzy ta broń obiekt typu Bullet to tam przypisanie w konstruktorze:
this -> effect = effect;
Efekty przechowywane są tak: std::shared_ptr <Effect> effect;
No i potem jak nabój koliduje z przeciwnikiem to jest tam taka operacja:
if(applyEffect == true)
if(entity.bullet[i] -> getEffect() != NULL)
effect.emplace_back(new ElementalEffect(dynamic_cast<ElementalEffect&>(*entity.bullet[i]->getEffect())));
Czy to rozwiązanie jest dobre?