Beispiel #1
0
void KrecikApp::update()
{
    Time elapsed = Game::update();
    updateCar(elapsed);

    // usuń zaznaczone ciała
    while(!marks.empty())
    {
        destroyBody(marks.front());
        marks.pop();
    }

    for(auto it = toDraw.begin(); it != toDraw.end();)
    {
        if(it->second <= Time::Zero)
        {
            delete it->first;
            it = toDraw.erase(it);
        }
        else
        {
            it->second -= elapsed;
            it++;
        }
    }
}
Beispiel #2
0
QVariant PhysicalItem::itemChange(GraphicsItemChange change, const QVariant & value) {
  if (change == QGraphicsItem::ItemSceneChange)
    destroyBody();
  if (change == QGraphicsItem::ItemSceneHasChanged and scene() != nullptr)
    createBody();

  return QGraphicsItem::itemChange(change, value);
}
Beispiel #3
0
//-------------------------------------------------------------------------------
OneWay::~OneWay()
{
    //Python destroy event.
    NGF_PY_CALL_EVENT(destroy);

    //We only clear up stuff that we did.
    destroyBody();
    delete mShape;

    mNode->detachAllObjects();
    GlbVar.ogreSmgr->destroyEntity(mEntity->getName());
}
Beispiel #4
0
//-------------------------------------------------------------------------------
Crate::~Crate()
{
    //Python destroy event.
    NGF_PY_CALL_EVENT(destroy);

    GlbVar.soundMgr->destroySound(mSound);

    //We only clear up stuff that we did.
    GlbVar.phyWorld->removeConstraint(mConstraint);
    delete mConstraint;
    GlbVar.phyWorld->removeRigidBody(mFixedBody);
    delete mFixedBody;
    destroyBody();
    delete mShape;

    mNode->detachAllObjects();
    GlbVar.ogreSmgr->destroyEntity(mEntity->getName());
}
Beispiel #5
0
void SpriteBody::update(float dt)
{
    if(isDelete){
        destroyBody(*Engine::world);
        removeFromList(Engine::bodylist);
        removeFromList(Engine::effectslist);

        return;
    }
    m_animation.getSprite().setRotation( default_rotation + 180.f*m_body->GetAngle()/(M_PI) );
    m_animation.getSprite().setPosition( m_body->GetPosition().x*pixelsPerMeter, m_body->GetPosition().y*pixelsPerMeter);
    m_animation.update(dt);

    //m_sprite.setRotation( 180.f*m_body->GetAngle()/(M_PI) );
    //m_sprite.setPosition( m_body->GetPosition().x*pixelsPerMeter, m_body->GetPosition().y*pixelsPerMeter);


}
Beispiel #6
0
    iPhysics::~iPhysics()
    {
        stop();

        if (!_bodys.empty())
        {
            con_err("possible mem leak! not all physic bodys released");

            auto iter = _bodys.begin();
            while (iter != _bodys.end())
            {
                destroyBody((*iter).second);
                iter++;
            }
            _bodys.clear();
        }

        if (!_collisions.empty())
        {
            con_err("possible mem leak! not all physic collisions released");

            auto iter = _collisions.begin();
            while (iter != _collisions.end())
            {
                destroyCollision((*iter).second);
                iter++;
            }
            _collisions.clear();
        }

        // todo clear joints

        vector<uint64> worldsToDelete;
        for (auto world : _worlds)
        {
            worldsToDelete.push_back(world.first);
        }

        for (auto worldID : worldsToDelete)
        {
            destroyWorld(worldID);
        }
    }
Beispiel #7
0
StaticLight::~StaticLight() {
  destroyBody();
}
Beispiel #8
0
Entity::~Entity() 
{
	destroyBody();
}
Beispiel #9
0
// Destroi um objeto Projectile
void destroyProjectile (Projectile *projectile) {
    if (projectile == NULL) return;

    destroyBody (projectile->body);
    free (projectile);
}
Beispiel #10
0
 void iPhysics::destroyBody(uint64 bodyID)
 {
     destroyBody(getBody(bodyID));
 }
Beispiel #11
0
Ball::~Ball() {
	destroyBody();
}