Example #1
2
 void HUD::setEnemy(const MWWorld::Ptr &enemy)
 {
     mEnemy = enemy;
     mEnemyHealthTimer = 5;
     if (!mEnemyHealth->getVisible())
         mWeaponSpellBox->setPosition(mWeaponSpellBox->getPosition() - MyGUI::IntPoint(0,20));
     mEnemyHealth->setVisible(true);
     updateEnemyHealthBar();
 }
Example #2
1
    void HUD::onFrame(float dt)
    {
        LocalMapBase::onFrame(dt);

        mCellNameTimer -= dt;
        mWeaponSpellTimer -= dt;
        if (mCellNameTimer < 0)
            mCellNameBox->setVisible(false);
        if (mWeaponSpellTimer < 0)
            mWeaponSpellBox->setVisible(false);

        mEnemyHealthTimer -= dt;
        if (mEnemyHealth->getVisible() && mEnemyHealthTimer < 0)
        {
            mEnemyHealth->setVisible(false);
            mWeaponSpellBox->setPosition(mWeaponSpellBox->getPosition() + MyGUI::IntPoint(0,20));
        }

        if (mIsDrowning)
            mDrowningFlashTheta += dt * osg::PI*2;

        mSpellIcons->updateWidgets(mEffectBox, true);

        if (mEnemyActorId != -1 && mEnemyHealth->getVisible())
        {
            updateEnemyHealthBar();
        }

        if (mIsDrowning)
        {
            float intensity = (cos(mDrowningFlashTheta) + 2.0f) / 3.0f;

            mDrowningFlash->setAlpha(intensity);
        }
    }
Example #3
1
 void HUD::setEnemy(const MWWorld::Ptr &enemy)
 {
     mEnemyActorId = enemy.getClass().getCreatureStats(enemy).getActorId();
     mEnemyHealthTimer = MWBase::Environment::get().getWorld()->getStore().get<ESM::GameSetting>().find("fNPCHealthBarTime")->getFloat();
     if (!mEnemyHealth->getVisible())
         mWeaponSpellBox->setPosition(mWeaponSpellBox->getPosition() - MyGUI::IntPoint(0,20));
     mEnemyHealth->setVisible(true);
     updateEnemyHealthBar();
 }
Example #4
0
    void HUD::update()
    {
        mSpellIcons->updateWidgets(mEffectBox, true);

        if (mEnemyActorId != -1 && mEnemyHealth->getVisible())
        {
            updateEnemyHealthBar();
        }

        if (mIsDrowning)
        {
            float intensity = (cos(mDrowningFlashTheta) + 1.0f) / 2.0f;
            mDrowningFlash->setColour(MyGUI::Colour(intensity, 0, 0));
        }
    }