19 #ifndef __PLAYERGROUP_H__ 20 #define __PLAYERGROUP_H__ 22 #include <csutil/ref.h> 23 #include <csutil/refarr.h> 24 #include <csutil/refcount.h> 25 #include <csutil/array.h> 49 csArray<gemActor*> members;
50 csArray<PlayerGroup*> DuelGroups;
118 return members.GetSize();
122 return members[which];
128 return id == other.id;
133 return id < other.id;
bool HasMember(gemActor *member, bool IncludePets=false)
int operator<(PlayerGroup &other)
int GetGroupID()
Return the ID of this group.
PlayerGroup(GroupManager *mgr, gemActor *leader)
The structure of 1 queue entry (pointer to a message)
gemActor * GetMember(size_t which)
void Add(gemActor *new_member)
Add a new client to the existing group.
Main PlayerGroup Manager that holds all the groups.
void Broadcast(MsgEntry *me)
Send a message to all members in this group.
bool IsLeader(gemActor *client)
void SetLeader(gemActor *new_leader)
Change the leader of this group.
Any semi-autonomous object, either a player or an NPC.
int operator==(PlayerGroup &other)
void RemoveDuelGroup(PlayerGroup *OtherGroup)
Remove a group from the list of those in duel with this.
void BroadcastMemberList()
void DuelYield()
Yield to all groups in duel with this.
This class collects data of a netclient.
bool IsInDuelWith(PlayerGroup *OtherGroup)
Check if we are in duel with another group.
void NotifyDuelYield(PlayerGroup *OtherGroup)
Notify the group of the yielding of another group.
bool IsInDuel()
Checks if the group is in duel with any other group.
void ListMembers(gemActor *client)
bool AddDuelGroup(PlayerGroup *OtherGroup)
Add a new group to the list of those in duel with this.
void Remove(gemActor *member)
Remove a client from this group.