SLikeNet  0.1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TeamManager.h File Reference

Automates networking and list management for teams. More...

#include "NativeFeatureIncludes.h"
#include "PluginInterface2.h"
#include "memoryoverride.h"
#include "NativeTypes.h"
#include "DS_List.h"
#include "types.h"
#include "DS_Hash.h"
#include "DS_OrderedList.h"

Go to the source code of this file.

Classes

struct  SLNet::TeamSelection
 Parameter to TM_World::ReferenceTeamMember() More...
 
class  SLNet::TM_TeamMember
 A member of one or more teams. More...
 
struct  SLNet::TM_TeamMember::RequestedTeam
 
class  SLNet::TM_Team
 A team, containing a list of TM_TeamMember instances. More...
 
class  SLNet::TM_World
 Stores a list of teams which may be enforcing a balanced number of members. More...
 
struct  SLNet::TM_World::JoinRequestHelper
 
class  SLNet::TeamManager
 Automates networking and list management for teams. More...
 
union  SLNet::TeamSelection.teamParameter
 

Namespaces

namespace  SLNet
 Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc.
 

Macros

#define ALLOW_JOIN_ANY_AVAILABLE_TEAM   (1<<0)
 Allow members to join this team when they specify TeamSelection::JOIN_ANY_AVAILABLE_TEAM.
 
#define ALLOW_JOIN_SPECIFIC_TEAM   (1<<1)
 Allow members to join this team when they specify TeamSelection::JOIN_SPECIFIC_TEAM.
 
#define ALLOW_JOIN_REBALANCING   (1<<2)
 Allow the host to put members on this team when rebalancing with TM_World::SetBalanceTeams()
 

Typedefs

typedef unsigned char SLNet::NoTeamId
 A subcategory of not being on a team. For example, 0 may mean no team for a player, while 1 may mean no team for a spectator. Defined by the user.
 
typedef uint16_t SLNet::TeamMemberLimit
 
typedef uint8_t SLNet::JoinPermissions
 

Enumerations

enum  SLNet::JoinTeamType { SLNet::JOIN_ANY_AVAILABLE_TEAM, SLNet::JOIN_SPECIFIC_TEAM, SLNet::JOIN_NO_TEAM }
 
enum  SLNet::TMTopology { SLNet::TM_PEER_TO_PEER, SLNet::TM_CLIENT_SERVER }
 

Detailed Description

Automates networking and list management for teams.

TeamManager provides support for teams. A team is a list of team members. Teams contain properties including the number of team members per team, whether or not tagged teams must have equal numbers of members, and if a team is locked or not to certain entry conditions Team members contain properties including which teams they are on and which teams they want to join if a team is not immediately joinable Advanced functionality includes the ability for a team member to be on multiple teams simultaneously, the ability to swap teams with other members, and the ability to resize the number of members supported per team

Definition in file TeamManager.h.

Macro Definition Documentation

#define ALLOW_JOIN_ANY_AVAILABLE_TEAM   (1<<0)

Allow members to join this team when they specify TeamSelection::JOIN_ANY_AVAILABLE_TEAM.

Definition at line 64 of file TeamManager.h.

#define ALLOW_JOIN_REBALANCING   (1<<2)

Allow the host to put members on this team when rebalancing with TM_World::SetBalanceTeams()

Definition at line 68 of file TeamManager.h.

#define ALLOW_JOIN_SPECIFIC_TEAM   (1<<1)

Allow members to join this team when they specify TeamSelection::JOIN_SPECIFIC_TEAM.

Definition at line 66 of file TeamManager.h.