void CGrenade::Throw() { if (!m_fake_missile || m_thrown) return; CGrenade *pGrenade = smart_cast<CGrenade*>(m_fake_missile); VERIFY (pGrenade); if (pGrenade) { pGrenade->set_destroy_time(m_dwDestroyTimeMax); //установить ID того кто кинул гранату pGrenade->SetInitiator( H_Parent()->ID() ); } inherited::Throw (); m_fake_missile->processing_activate();//@sliph m_thrown = true; // Real Wolf.Start.18.12.14 auto parent = smart_cast<CGameObject*>(H_Parent()); auto obj = smart_cast<CGameObject*>(m_fake_missile); if (parent && obj) { parent->callback(GameObject::eOnThrowGrenade)(obj->lua_game_object()); } // Real Wolf.End.18.12.14 }
/* bool CGrenade::Activate() { Show (); return true; } void CGrenade::Deactivate() { Hide (); } */ void CGrenade::Throw() { if (!m_fake_missile) return; CGrenade *pGrenade = smart_cast<CGrenade*>(m_fake_missile); VERIFY (pGrenade); if (pGrenade) { pGrenade->set_destroy_time(m_dwDestroyTimeMax); //установить ID того кто кинул гранату pGrenade->SetInitiator( H_Parent()->ID() ); } inherited::Throw (); m_fake_missile->processing_activate();//@sliph m_thrown = true; }