Changeset View
Changeset View
Standalone View
Standalone View
source/network/NetClient.cpp
Show First 20 Lines • Show All 90 Lines • ▼ Show 20 Lines | CNetClient::CNetClient(CGame* game, bool isLocalClient) : | ||||
AddTransition(NCS_AUTHENTICATE, (uint)NMT_AUTHENTICATE_RESULT, NCS_INITIAL_GAMESETUP, (void*)&OnAuthenticate, context); | AddTransition(NCS_AUTHENTICATE, (uint)NMT_AUTHENTICATE_RESULT, NCS_INITIAL_GAMESETUP, (void*)&OnAuthenticate, context); | ||||
AddTransition(NCS_INITIAL_GAMESETUP, (uint)NMT_GAME_SETUP, NCS_PREGAME, (void*)&OnGameSetup, context); | AddTransition(NCS_INITIAL_GAMESETUP, (uint)NMT_GAME_SETUP, NCS_PREGAME, (void*)&OnGameSetup, context); | ||||
AddTransition(NCS_PREGAME, (uint)NMT_CHAT, NCS_PREGAME, (void*)&OnChat, context); | AddTransition(NCS_PREGAME, (uint)NMT_CHAT, NCS_PREGAME, (void*)&OnChat, context); | ||||
AddTransition(NCS_PREGAME, (uint)NMT_READY, NCS_PREGAME, (void*)&OnReady, context); | AddTransition(NCS_PREGAME, (uint)NMT_READY, NCS_PREGAME, (void*)&OnReady, context); | ||||
AddTransition(NCS_PREGAME, (uint)NMT_GAME_SETUP, NCS_PREGAME, (void*)&OnGameSetup, context); | AddTransition(NCS_PREGAME, (uint)NMT_GAME_SETUP, NCS_PREGAME, (void*)&OnGameSetup, context); | ||||
AddTransition(NCS_PREGAME, (uint)NMT_PLAYER_ASSIGNMENT, NCS_PREGAME, (void*)&OnPlayerAssignment, context); | AddTransition(NCS_PREGAME, (uint)NMT_PLAYER_ASSIGNMENT, NCS_PREGAME, (void*)&OnPlayerAssignment, context); | ||||
AddTransition(NCS_PREGAME, (uint)NMT_CHANGE_SETTING, NCS_PREGAME, (void*)&OnChangeSetting, context); | |||||
AddTransition(NCS_PREGAME, (uint)NMT_KICKED, NCS_PREGAME, (void*)&OnKicked, context); | AddTransition(NCS_PREGAME, (uint)NMT_KICKED, NCS_PREGAME, (void*)&OnKicked, context); | ||||
AddTransition(NCS_PREGAME, (uint)NMT_CLIENT_TIMEOUT, NCS_PREGAME, (void*)&OnClientTimeout, context); | AddTransition(NCS_PREGAME, (uint)NMT_CLIENT_TIMEOUT, NCS_PREGAME, (void*)&OnClientTimeout, context); | ||||
AddTransition(NCS_PREGAME, (uint)NMT_CLIENT_PERFORMANCE, NCS_PREGAME, (void*)&OnClientPerformance, context); | AddTransition(NCS_PREGAME, (uint)NMT_CLIENT_PERFORMANCE, NCS_PREGAME, (void*)&OnClientPerformance, context); | ||||
AddTransition(NCS_PREGAME, (uint)NMT_GAME_START, NCS_LOADING, (void*)&OnGameStart, context); | AddTransition(NCS_PREGAME, (uint)NMT_GAME_START, NCS_LOADING, (void*)&OnGameStart, context); | ||||
AddTransition(NCS_PREGAME, (uint)NMT_JOIN_SYNC_START, NCS_JOIN_SYNCING, (void*)&OnJoinSyncStart, context); | AddTransition(NCS_PREGAME, (uint)NMT_JOIN_SYNC_START, NCS_JOIN_SYNCING, (void*)&OnJoinSyncStart, context); | ||||
AddTransition(NCS_JOIN_SYNCING, (uint)NMT_CHAT, NCS_JOIN_SYNCING, (void*)&OnChat, context); | AddTransition(NCS_JOIN_SYNCING, (uint)NMT_CHAT, NCS_JOIN_SYNCING, (void*)&OnChat, context); | ||||
AddTransition(NCS_JOIN_SYNCING, (uint)NMT_GAME_SETUP, NCS_JOIN_SYNCING, (void*)&OnGameSetup, context); | AddTransition(NCS_JOIN_SYNCING, (uint)NMT_GAME_SETUP, NCS_JOIN_SYNCING, (void*)&OnGameSetup, context); | ||||
▲ Show 20 Lines • Show All 231 Lines • ▼ Show 20 Lines | |||||
void CNetClient::SendAssignPlayerMessage(const int playerID, const CStr& guid) | void CNetClient::SendAssignPlayerMessage(const int playerID, const CStr& guid) | ||||
{ | { | ||||
CAssignPlayerMessage assignPlayer; | CAssignPlayerMessage assignPlayer; | ||||
assignPlayer.m_PlayerID = playerID; | assignPlayer.m_PlayerID = playerID; | ||||
assignPlayer.m_GUID = guid; | assignPlayer.m_GUID = guid; | ||||
SendMessage(&assignPlayer); | SendMessage(&assignPlayer); | ||||
} | } | ||||
void CNetClient::SendChangeSettingMessage(JS::MutableHandleValue keyValuePair, ScriptInterface& scriptInterface) | |||||
{ | |||||
JSContext* cx = scriptInterface.GetContext(); | |||||
JS::RootedValue keyValuePairRooted(cx); | |||||
keyValuePairRooted = keyValuePair; | |||||
CChangeSettingMessage changeSetting(GetScriptInterface()); | |||||
changeSetting.m_Data = keyValuePairRooted; | |||||
SendMessage(&changeSetting); | |||||
} | |||||
void CNetClient::SendChatMessage(const std::wstring& text) | void CNetClient::SendChatMessage(const std::wstring& text) | ||||
{ | { | ||||
CChatMessage chat; | CChatMessage chat; | ||||
chat.m_Message = text; | chat.m_Message = text; | ||||
SendMessage(&chat); | SendMessage(&chat); | ||||
} | } | ||||
void CNetClient::SendReadyMessage(const int status) | void CNetClient::SendReadyMessage(const int status) | ||||
▲ Show 20 Lines • Show All 273 Lines • ▼ Show 20 Lines | bool CNetClient::OnPlayerAssignment(void* context, CFsmEvent* event) | ||||
client->m_PlayerAssignments.swap(newPlayerAssignments); | client->m_PlayerAssignments.swap(newPlayerAssignments); | ||||
client->PostPlayerAssignmentsToScript(); | client->PostPlayerAssignmentsToScript(); | ||||
return true; | return true; | ||||
} | } | ||||
bool CNetClient::OnChangeSetting(void* context, CFsmEvent* event) | |||||
{ | |||||
ENSURE(event->GetType() == (uint)NMT_CHANGE_SETTING); | |||||
CNetClient* client = (CNetClient*)context; | |||||
JSContext* cx = client->GetScriptInterface().GetContext(); | |||||
JSAutoRequest rq(cx); | |||||
CChangeSettingMessage* message = (CChangeSettingMessage*)event->GetParamRef(); | |||||
JS::RootedValue msg(cx); | |||||
client->GetScriptInterface().Eval("({'type':'changesetting'})", &msg); | |||||
client->GetScriptInterface().SetProperty(msg, "guid", std::string(message->m_GUID), false); | |||||
client->GetScriptInterface().SetProperty(msg, "data", message->m_Data, false); | |||||
client->PushGuiMessage(msg); | |||||
return true; | |||||
} | |||||
bool CNetClient::OnGameStart(void* context, CFsmEvent* event) | bool CNetClient::OnGameStart(void* context, CFsmEvent* event) | ||||
{ | { | ||||
ENSURE(event->GetType() == (uint)NMT_GAME_START); | ENSURE(event->GetType() == (uint)NMT_GAME_START); | ||||
CNetClient* client = (CNetClient*)context; | CNetClient* client = (CNetClient*)context; | ||||
JSContext* cx = client->GetScriptInterface().GetContext(); | JSContext* cx = client->GetScriptInterface().GetContext(); | ||||
JSAutoRequest rq(cx); | JSAutoRequest rq(cx); | ||||
▲ Show 20 Lines • Show All 232 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator