示例#1
0
MiniStatusWindow::MiniStatusWindow():
    Popup("MiniStatus")
{
    listen(Event::AttributesChannel);

    mHpBar = new ProgressBar(0, 100, 20, Theme::PROG_HP);
    StatusWindow::updateHPBar(mHpBar);

    if (Net::getGameHandler()->canUseMagicBar())
    {
        mMpBar = new ProgressBar(0, 100, 20,
                        Net::getPlayerHandler()->canUseMagic()
                        ? Theme::PROG_MP : Theme::PROG_NO_MP);

        StatusWindow::updateMPBar(mMpBar);
    }
    else
        mMpBar = 0;

    mXpBar = new ProgressBar(0, 100, 20, Theme::PROG_EXP);
    StatusWindow::updateXPBar(mXpBar);

    // Add the progressbars to the window

    mHpBar->setPosition(0, 3);
    if (mMpBar)
        mMpBar->setPosition(mHpBar->getWidth() + 3, 3);
    mXpBar->setPosition(mMpBar ? mMpBar->getX() + mMpBar->getWidth() + 3 :
                                 mHpBar->getX() + mHpBar->getWidth() + 3, 3);

    add(mHpBar);
    if (mMpBar)
        add(mMpBar);
    add(mXpBar);

    setContentSize(mXpBar->getX() + mXpBar->getWidth(),
                   mXpBar->getY() + mXpBar->getHeight());

    setVisible((bool) config.getValue(getPopupName() + "Visible", true));

    mTextPopup = new TextPopup();

    addMouseListener(this);
}
示例#2
0
MiniStatusWindow::MiniStatusWindow():
    Popup("MiniStatus")
{
    mHpBar = new ProgressBar((float) player_node->getHp()
                             / (float) player_node->getMaxHp(),
                             213, 20, gcn::Color(0, 171, 34));
    mMpBar = new ProgressBar((float) player_node->getMaxMP()
                             / (float) player_node->getMaxMP(),
                             100, 20, gcn::Color(26, 102, 230));
    mXpBar = new ProgressBar((float) player_node->getExp()
                             / player_node->getExpNeeded(),
                             100, 20, gcn::Color(143, 192, 211));
    mHpBar->setPosition(14, 3);
    mMpBar->setPosition(14, mHpBar->getHeight()+3);
    mXpBar->setPosition(mMpBar->getX() + mMpBar->getWidth() + 13, mHpBar->getHeight()+3);

    mHpLabel = new gcn::Label(_("HP"));
    mMpLabel = new gcn::Label(_("MP"));
    mXpLabel = new gcn::Label(_("XP"));

    mHpLabel->setForegroundColor(gcn::Color(255, 255, 255));
    mMpLabel->setForegroundColor(gcn::Color(255, 255, 255));
    mXpLabel->setForegroundColor(gcn::Color(255, 255, 255));

    mHpLabel->setFont(font_b_calibri_11);
    mMpLabel->setFont(font_b_calibri_11);
    mXpLabel->setFont(font_b_calibri_11);

    mHpLabel->setPosition(0,4);
    mMpLabel->setPosition(0,mMpBar->getY()+3);
    mXpLabel->setPosition(mXpBar->getX()-12,mMpLabel->getY());

    add(mHpBar);
    add(mMpBar);
    add(mXpBar);
    add(mHpLabel);
    add(mMpLabel);
    add(mXpLabel);

    setContentSize(mXpBar->getX() + mXpBar->getWidth()+10,
                   mXpBar->getY() + mXpBar->getHeight()+ mHpBar->getHeight());

    setVisible((bool) config.getValue(getPopupName() + "Visible", true));
}