v1.4.4
This commit is contained in:
commit
9c94d113d3
10260 changed files with 1237388 additions and 0 deletions
115
source/frontend/StarTeamBar.hpp
Normal file
115
source/frontend/StarTeamBar.hpp
Normal file
|
@ -0,0 +1,115 @@
|
|||
#ifndef STAR_TEAMBAR_HPP
|
||||
#define STAR_TEAMBAR_HPP
|
||||
|
||||
#include "StarPane.hpp"
|
||||
#include "StarUuid.hpp"
|
||||
#include "StarMainInterfaceTypes.hpp"
|
||||
#include "StarProgressWidget.hpp"
|
||||
|
||||
namespace Star {
|
||||
|
||||
STAR_CLASS(TeamBar);
|
||||
STAR_CLASS(MainInterface);
|
||||
STAR_CLASS(UniverseClient);
|
||||
STAR_CLASS(Player);
|
||||
|
||||
STAR_CLASS(TeamInvite);
|
||||
STAR_CLASS(TeamInvitation);
|
||||
STAR_CLASS(TeamMemberMenu);
|
||||
STAR_CLASS(TeamBar);
|
||||
|
||||
class TeamInvite : public Pane {
|
||||
public:
|
||||
TeamInvite(TeamBar* owner);
|
||||
|
||||
virtual void show() override;
|
||||
|
||||
private:
|
||||
TeamBar* m_owner;
|
||||
|
||||
void ok();
|
||||
void close();
|
||||
};
|
||||
|
||||
class TeamInvitation : public Pane {
|
||||
public:
|
||||
TeamInvitation(TeamBar* owner);
|
||||
|
||||
void open(Uuid const& inviterUuid, String const& inviterName);
|
||||
|
||||
private:
|
||||
TeamBar* m_owner;
|
||||
Uuid m_inviterUuid;
|
||||
|
||||
void ok();
|
||||
void close();
|
||||
};
|
||||
|
||||
class TeamMemberMenu : public Pane {
|
||||
public:
|
||||
TeamMemberMenu(TeamBar* owner);
|
||||
|
||||
void open(Uuid memberUuid, Vec2I position);
|
||||
|
||||
virtual void update() override;
|
||||
|
||||
private:
|
||||
void updateWidgets();
|
||||
|
||||
void close();
|
||||
void beamToShip();
|
||||
void makeLeader();
|
||||
void removeFromTeam();
|
||||
|
||||
TeamBar* m_owner;
|
||||
Uuid m_memberUuid;
|
||||
bool m_canBeam;
|
||||
};
|
||||
|
||||
class TeamBar : public Pane {
|
||||
public:
|
||||
TeamBar(MainInterface* mainInterface, UniverseClientPtr client);
|
||||
|
||||
bool sendEvent(InputEvent const& event) override;
|
||||
|
||||
void invitePlayer(String const& playerName);
|
||||
void acceptInvitation(Uuid const& inviterUuid);
|
||||
|
||||
protected:
|
||||
virtual void update() override;
|
||||
|
||||
private:
|
||||
void updatePlayerResources();
|
||||
|
||||
void inviteButton();
|
||||
|
||||
void buildTeamBar();
|
||||
|
||||
void showMemberMenu(Uuid memberUuid, Vec2I position);
|
||||
|
||||
MainInterface* m_mainInterface;
|
||||
UniverseClientPtr m_client;
|
||||
|
||||
GuiContext* m_guiContext;
|
||||
|
||||
int m_nameFontSize;
|
||||
Vec2F m_nameOffset;
|
||||
|
||||
TeamInvitePtr m_teamInvite;
|
||||
TeamInvitationPtr m_teamInvitation;
|
||||
TeamMemberMenuPtr m_teamMemberMenu;
|
||||
|
||||
ProgressWidgetPtr m_healthBar;
|
||||
ProgressWidgetPtr m_energyBar;
|
||||
ProgressWidgetPtr m_foodBar;
|
||||
|
||||
Color m_energyBarColor;
|
||||
Color m_energyBarRegenMixColor;
|
||||
Color m_energyBarUnusableColor;
|
||||
|
||||
friend class TeamMemberMenu;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue