aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/PlayerTeam.h
blob: bf91309aa8ade3d7be056eb4f49766a96add3371 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#pragma once

#include "Team.h"

class Scoreboard;

class PlayerTeam : public Team
{
public:
	static const int MAX_NAME_LENGTH = 16;
	static const int MAX_DISPLAY_NAME_LENGTH = 32;
	static const int MAX_PREFIX_LENGTH = 16;
	static const int MAX_SUFFIX_LENGTH = 16;

private:
	static const int BIT_FRIENDLY_FIRE = 0;
	static const int BIT_SEE_INVISIBLES = 1;

	Scoreboard *scoreboard;
	wstring name;
	unordered_set<wstring> players;
	wstring displayName;
	wstring prefix;
	wstring suffix;
	bool allowFriendlyFire;
	bool seeFriendlyInvisibles;

public:
	PlayerTeam(Scoreboard *scoreboard, const wstring &name);

	Scoreboard *getScoreboard();
	wstring getName();
	wstring getDisplayName();
	void setDisplayName(const wstring &displayName);
	unordered_set<wstring> *getPlayers();
	wstring getPrefix();
	void setPrefix(const wstring &prefix);
	wstring getSuffix();
	void setSuffix(const wstring &suffix);
	wstring getFormattedName(const wstring &teamMemberName);
	static wstring formatNameForTeam(PlayerTeam *team);
	static wstring formatNameForTeam(Team *team, const wstring &name);
	bool isAllowFriendlyFire();
	void setAllowFriendlyFire(bool allowFriendlyFire);
	bool canSeeFriendlyInvisibles();
	void setSeeFriendlyInvisibles(bool seeFriendlyInvisibles);
	int packOptions();
	void unpackOptions(int options);
};