PartyLeader::PartyLeader(Module &module) : _module(&module), _currentHP(1), _maxHP(1) { // The panel WidgetPanel *playerPanel = new WidgetPanel(*this, "LeaderPanel", "pnl_party_bar"); playerPanel->setPosition(- playerPanel->getWidth(), 0.0, 0.0); addWidget(playerPanel); // Buttons float buttonsX = - playerPanel->getWidth () + 4.0; float buttonsY = - playerPanel->getHeight() + 57.0; for (int i = 0; i < 8; i++) { WidgetButton *button = new WidgetButton(*this, kButtonTags[i], kButtonModels[i]); button->setTooltip(TalkMan.getString(kButtonTooltips[i])); button->setTooltipPosition(0.0, -10.0, -1.0); const float x = buttonsX + ((i / 4) * 36.0); const float y = buttonsY - ((i % 4) * 18.0); const float z = -100.0; button->setPosition(x, y, z); addWidget(button); } getWidget("ButtonPlayers", true)->setDisabled(true); // Portrait _portrait = new PortraitWidget(*this, "LeaderPortrait", "gui_po_nwnlogo_", Portrait::kSizeMedium); _portrait->setPosition(-67.0, -103.0, -100.0); _portrait->setTooltipPosition(-50.0, 50.0, -1.0); addWidget(_portrait); // Health bar _health = new QuadWidget(*this, "LeaderHealthbar", "", 0.0, 0.0, 6.0, 100.0); _health->setColor(1.0, 0.0, 0.0, 1.0); _health->setPosition(-76.0, -103.0, -100.0); addWidget(_health); updatePortraitTooltip(); notifyResized(0, 0, GfxMan.getScreenWidth(), GfxMan.getScreenHeight()); }
Compass::Compass(float position) { // Panel WidgetPanel *panel = new WidgetPanel(*this, "CompassPanel", "pnl_compass"); float panelWidth = panel->getWidth (); float panelHeight = panel->getHeight(); panel->setPosition(- panelWidth, position, 0.0); addWidget(panel); // Compass _compass = new CompassWidget(*this, "Compass"); _compass->setPosition(- (panelWidth / 2.0), position + (panelHeight / 2.0), -100.0); addWidget(_compass); notifyResized(0, 0, GfxMan.getScreenWidth(), GfxMan.getScreenHeight()); }