Beispiel #1
0
void Object::update(float timeDelta, std::vector<Enemy> &enemies, player &hero)
{
    // supress warning
    int null = enemies.size();
    null = null;
    //std::cout << "Object - update ";
    lifespan -= timeDelta;
    //std::cout << "Object lifespan: " << lifespan << std::endl;
    if(lifespan < 0.0f)
    {
        alive = false;
        return;
    }

    if(collidable)
    {
        switch(type)
        {
        case 1: // healing item
        case 2: // healing item
            if(sprite.getGlobalBounds().intersects(hero.sprite.getGlobalBounds()))
            {
                hero.life += (hero.maxLife * value1); // POTION_HEAL_AMOUNT;
                alive = false;
                //break;
            }
            break;
        case 6: // coins
        case 7: // coins
            //std::cout << "Coin update" << std::endl;
            if(sprite.getGlobalBounds().intersects(hero.sprite.getGlobalBounds()))
            {
                //std::cout << "Coin Collide" << std::endl;
                hero.gold(value1);
                alive = false;
            }
            break;
        default:
            break;
        }
    }
}