void Bomb::DestructibleBox::EventTreatment() { if (this->_events.size()) { Event::DamageEvent *dam = static_cast<Event::DamageEvent *>(this->_events.front()); this->_events.pop_front(); if (dam && dam->id == this->GetId()) { LifeComponent *life = static_cast<LifeComponent *>(this->GetComponent(Life_c)); if (life) { life->Damage(dam->damage); if (life->GetLife() <= 0) G_EvDispatcher->SendEvent(new Event::ScoreEvent(Event::KillTargetScoring, dam->sender, this->GetId()), Event::COMMON); } } delete dam; } }