#include <C4Network2Players.h>
Public Member Functions | |
C4Network2Players () | |
~C4Network2Players ()=default | |
void | Init () |
void | Clear () |
bool | JoinLocalPlayer (const char *szLocalPlayerFilename, bool initial=false) |
void | SendUpdatedPlayers () |
void | ResetUpdatedPlayers () |
void | HandlePacket (char cStatus, const C4PacketBase *pPacket, class C4Network2IOConnection *pConn) |
void | OnClientPart (class C4Client *pPartClient) |
void | OnStatusGoReached () |
void | RequestPlayerInfoUpdate (const class C4ClientPlayerInfos &rRequest) |
void | HandlePlayerInfo (const class C4ClientPlayerInfos &rInfoPacket) |
void | HandlePlayerInfoUpdRequest (const class C4ClientPlayerInfos *pInfoPacket, bool fByHost) |
C4ClientPlayerInfos * | GetLocalPlayerInfoPacket () const |
C4ClientPlayerInfos * | GetIndexedPlayerInfoPacket (int iIndex) |
DWORD | GetClientChatColor (int idForClient, bool fLobby) const |
Definition at line 39 of file C4Network2Players.h.
C4Network2Players::C4Network2Players | ( | ) |
Definition at line 33 of file C4Network2Players.cpp.
|
default |
void C4Network2Players::Clear | ( | ) |
Definition at line 63 of file C4Network2Players.cpp.
Referenced by C4Network2::Clear().
DWORD C4Network2Players::GetClientChatColor | ( | int | idForClient, |
bool | fLobby | ||
) | const |
Definition at line 482 of file C4Network2Players.cpp.
References C4PT_User, C4Game::Clients, Game, C4ClientList::getClientByID(), C4PlayerInfo::GetColor(), C4PlayerInfoList::GetInfoByClientID(), C4PlayerInfo::GetLobbyColor(), C4ClientPlayerInfos::GetPlayerInfo(), and C4Client::isActivated().
Referenced by C4GameLobby::MainDlg::OnMessage().
C4ClientPlayerInfos * C4Network2Players::GetIndexedPlayerInfoPacket | ( | int | iIndex | ) |
Definition at line 476 of file C4Network2Players.cpp.
References C4PlayerInfoList::GetIndexedInfo().
C4ClientPlayerInfos * C4Network2Players::GetLocalPlayerInfoPacket | ( | ) | const |
Definition at line 462 of file C4Network2Players.cpp.
References C4Game::Clients, Game, C4ClientPlayerInfos::GetClientID(), C4PlayerInfoList::GetIndexedInfo(), and C4ClientList::getLocalID().
void C4Network2Players::HandlePacket | ( | char | cStatus, |
const C4PacketBase * | pPacket, | ||
class C4Network2IOConnection * | pConn | ||
) |
Definition at line 369 of file C4Network2Players.cpp.
References C4Network2::Clients, C4RoundResults::EvaluateLeague(), Game, C4Network2ClientList::GetClient(), C4Network2ClientList::GetClientByID(), C4Network2IOConnection::getClientID(), GETPKT, HandlePlayerInfoUpdRequest(), C4Network2::isHost(), C4Network2Client::isHost(), Network, PID_LeagueRoundResults, PID_PlayerInfoUpdReq, and C4Game::RoundResults.
Referenced by C4Network2IO::CallHandlers().
void C4Network2Players::HandlePlayerInfo | ( | const class C4ClientPlayerInfos & | rInfoPacket | ) |
Definition at line 223 of file C4Network2Players.cpp.
References C4PlayerInfoList::AddInfo(), C4Game::Clients, Game, C4ClientList::getClientByID(), C4ClientPlayerInfos::GetClientID(), C4Network2::GetLobby(), C4Network2::InvalidateReference(), C4Client::isActivated(), C4Network2::isEnabled(), C4Network2::isHost(), C4Network2::isRunning(), C4PlayerInfoList::LoadResources(), Network, C4GameLobby::MainDlg::OnPlayersChange(), C4TeamList::RecheckPlayers(), C4TeamList::RecheckTeams(), SendUpdatedPlayers(), and C4Game::Teams.
void C4Network2Players::HandlePlayerInfoUpdRequest | ( | const class C4ClientPlayerInfos * | pInfoPacket, |
bool | fByHost | ||
) |
Definition at line 135 of file C4Network2Players.cpp.
References C4PlayerInfoList::AssignPlayerIDs(), C4PlayerInfoList::AssignTeams(), C4PT_Script, CDT_Direct, CID_PlrInfo, Control, C4GameControl::DoInput(), Game, C4ClientPlayerInfos::GetClientID(), C4PlayerInfo::GetID(), C4PlayerInfoList::GetInfoByClientID(), C4Network2::GetLobby(), C4ClientPlayerInfos::GetPlayerCount(), C4ClientPlayerInfos::GetPlayerInfo(), C4PlayerInfoList::GetPlayerInfoByID(), C4ClientPlayerInfos::GetPlayerInfoByRes(), C4PlayerInfo::GetRes(), C4Network2Res::getResID(), C4PlayerInfo::GetType(), iCnt, C4ClientPlayerInfos::IsAddPacket(), C4Network2::isEnabled(), C4Network2::isHost(), C4ClientPlayerInfos::IsInitialPacket(), C4GameParameters::isLeague(), C4Network2::isLobbyActive(), C4Network2::LeaguePlrAuthCheck(), Log(), Network, C4GameLobby::MainDlg::OnPlayersChange(), C4Game::Parameters, C4ClientPlayerInfos::RemoveIndexedInfo(), C4PlayerInfo::ResetLeagueProjectedGain(), C4PlayerInfoList::ResetLeagueProjectedGain(), SendUpdatedPlayers(), C4PlayerInfo::SetAuthID(), and C4PlayerInfoList::UpdatePlayerAttributes().
Referenced by HandlePacket(), JoinLocalPlayer(), and RequestPlayerInfoUpdate().
void C4Network2Players::Init | ( | ) |
Definition at line 38 of file C4Network2Players.cpp.
References C4Game::C4S, C4PlayerInfoList::CreateRestoreInfosForJoinedScriptPlayers(), Game, C4Scenario::Head, C4Network2::isEnabled(), C4Network2::isHost(), C4Game::IsRunning, JoinLocalPlayer(), Network, C4Game::PlayerFilenames, C4Game::PlayerInfos, C4SHead::Replay, and C4Game::RestorePlayerInfos.
Referenced by C4Game::InitNetworkFromReference(), and C4Game::InitNetworkHost().
bool C4Network2Players::JoinLocalPlayer | ( | const char * | szLocalPlayerFilename, |
bool | initial = false |
||
) |
Definition at line 68 of file C4Network2Players.cpp.
References C4Game::C4S, C4Game::Clients, C4Network2::Clients, Game, C4ClientList::getLocal(), C4ClientPlayerInfos::GetPlayerCount(), C4ClientPlayerInfos::GetPlayerInfo(), HandlePlayerInfoUpdRequest(), C4Scenario::Head, C4PacketPlayerInfoUpdRequest::Info, C4Client::isActivated(), C4Network2::isEnabled(), C4Network2::isHost(), C4GameParameters::isLeague(), C4Client::isObserver(), C4Network2::LeaguePlrAuth(), MkC4NetIOPacket(), Network, C4Game::Parameters, PID_PlayerInfoUpdReq, C4ClientPlayerInfos::RemoveIndexedInfo(), C4SHead::Replay, C4Network2::RequestActivate(), and C4Network2ClientList::SendMsgToHost().
Referenced by Init(), C4PlayerList::JoinNew(), C4GameLobby::MainDlg::OnClientAddPlayer(), and C4MessageInput::ProcessCommand().
void C4Network2Players::OnClientPart | ( | class C4Client * | pPartClient | ) |
Definition at line 402 of file C4Network2Players.cpp.
References Game, C4Client::getID(), C4PlayerInfoList::GetInfoPtrByClientID(), C4PlayerInfo::HasJoined(), C4Network2::InvalidateReference(), C4Network2::isEnabled(), C4Network2::isHost(), Network, C4Game::PlayerInfos, C4TeamList::RecheckPlayers(), C4TeamList::RecheckTeams(), C4PlayerInfoList::RemoveInfo(), C4PlayerInfoList::ResetLeagueProjectedGain(), SendUpdatedPlayers(), C4Game::Teams, and C4PlayerInfoList::UpdatePlayerAttributes().
void C4Network2Players::OnStatusGoReached | ( | ) |
Definition at line 442 of file C4Network2Players.cpp.
References C4Game::Clients, Game, C4ClientList::getClientByID(), C4ClientPlayerInfos::GetClientID(), C4PlayerInfoList::GetIndexedInfo(), C4ClientPlayerInfos::HasUnjoinedPlayers(), C4Client::isActivated(), C4Network2::isHost(), and Network.
Referenced by C4Network2::OnStatusAck().
void C4Network2Players::RequestPlayerInfoUpdate | ( | const class C4ClientPlayerInfos & | rRequest | ) |
Definition at line 117 of file C4Network2Players.cpp.
References C4Network2::Clients, HandlePlayerInfoUpdRequest(), C4Network2::isEnabled(), C4Network2::isHost(), MkC4NetIOPacket(), Network, PID_PlayerInfoUpdReq, and C4Network2ClientList::SendMsgToHost().
Referenced by C4PlayerInfoList::DoPlayerInfoUpdate(), and C4MessageInput::ProcessCommand().
void C4Network2Players::ResetUpdatedPlayers | ( | ) |
Definition at line 323 of file C4Network2Players.cpp.
References C4PlayerInfoList::GetIndexedInfo(), and C4ClientPlayerInfos::ResetUpdated().
void C4Network2Players::SendUpdatedPlayers | ( | ) |
Definition at line 258 of file C4Network2Players.cpp.
References CDT_Direct, CID_PlrInfo, Control, C4GameControl::DoInput(), C4PlayerInfoList::GetIndexedInfo(), C4ClientPlayerInfos::IsUpdated(), and C4ClientPlayerInfos::ResetUpdated().
Referenced by HandlePlayerInfo(), HandlePlayerInfoUpdRequest(), C4Network2::LeagueUpdateProcessReply(), OnClientPart(), C4TeamList::SetTeamColors(), and C4TeamList::SetTeamDistribution().