MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / TeamBar

Method TeamBar

source/frontend/StarTeamBar.cpp:21–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

19namespace Star {
20
21TeamBar::TeamBar(MainInterface* mainInterface, UniverseClientPtr client) {
22 m_mainInterface = mainInterface;
23 m_client = client;
24
25 m_guiContext = GuiContext::singletonPtr();
26 auto assets = Root::singleton().assets();
27
28 m_teamInvite = make_shared<TeamInvite>(this);
29 m_teamInvitation = make_shared<TeamInvitation>(this);
30 m_teamMemberMenu = make_shared<TeamMemberMenu>(this);
31
32 m_nameStyle = assets->json("/interface.config:teamBarNameStyle");
33 m_nameStyle.fontSize = assets->json("/interface.config:font.nameSize").toInt();
34 m_nameOffset = jsonToVec2F(assets->json("/interface.config:nameOffset"));
35
36 GuiReader reader;
37
38 reader.registerCallback("inviteButton", [this](Widget*) { inviteButton(); });
39 reader.registerCallback("showSelfMenu", [this](Widget*) {
40 if (!m_client->teamClient()->isMemberOfTeam())
41 return;
42 auto position = jsonToVec2I(Root::singleton().assets()->json("/interface/windowconfig/teambar.config:selfMenuOffset"));
43 position[1] += windowHeight() / m_guiContext->interfaceScale();
44 showMemberMenu(m_client->mainPlayer()->clientContext()->playerUuid(), position);
45 });
46
47 reader.construct(assets->json("/interface/windowconfig/teambar.config:paneLayout"), this);
48
49 m_healthBar = fetchChild<ProgressWidget>("healthBar");
50 m_energyBar = fetchChild<ProgressWidget>("energyBar");
51 m_foodBar = fetchChild<ProgressWidget>("foodBar");
52 m_nameLabel = fetchChild<LabelWidget>("name");
53
54 m_energyBarColor = jsonToColor(assets->json("/interface/windowconfig/teambar.config:energyBarColor"));
55 m_energyBarRegenMixColor = jsonToColor(assets->json("/interface/windowconfig/teambar.config:energyBarRegenMixColor"));
56 m_energyBarUnusableColor = jsonToColor(assets->json("/interface/windowconfig/teambar.config:energyBarUnusableColor"));
57
58 m_energyBar->setColor(m_energyBarColor);
59
60 auto playerPortrait = fetchChild<PortraitWidget>("portrait");
61 playerPortrait->setEntity(as<PortraitEntity>(m_client->mainPlayer()));
62
63 updatePlayerResources();
64 disableScissoring();
65}
66
67bool TeamBar::sendEvent(InputEvent const& event) {
68 if (event.is<MouseButtonDownEvent>()

Callers

nothing calls this directly

Calls 15

singletonClass · 0.85
jsonToVec2FFunction · 0.85
jsonToVec2IFunction · 0.85
jsonToColorFunction · 0.85
assetsMethod · 0.80
jsonMethod · 0.80
toIntMethod · 0.80
isMemberOfTeamMethod · 0.80
teamClientMethod · 0.80
playerUuidMethod · 0.80
mainPlayerMethod · 0.80
setEntityMethod · 0.80

Tested by

no test coverage detected