static private void CreateInstance() { GameObject lobbyClient = new GameObject("lobby client"); lobbyClient.hideFlags = HideFlags.HideAndDontSave; DontDestroyOnLoad(lobbyClient); _instance = lobbyClient.AddComponent <LobbyClientBase>(); }
void Awake() { if (instance != null) { Debug.LogError("One instance of AccountManagerClientBase already exists, only one version should be in a scene."); return; } instance = this; lobby = LobbyClientBase.instance; lobby.OnConnected += () => { isConnected = true; }; lobby.OnDisconnected += () => { isConnected = false; }; lobby.networkClient.RegisterHandler((short)CustomMessageTypes.LoginResponse, x => { var msg = x.ReadMessage <LoginResponseData>(); if (msg.isSuccessful) { loggedInAccount = msg.account; if (OnLoggedIn != null) { OnLoggedIn(msg.account); } } else { if (OnFailedToLogin != null) { OnFailedToLogin(); } } }); lobby.networkClient.RegisterHandler((short)CustomMessageTypes.LogoutResponse, x => { var msg = x.ReadMessage <BooleanMessage>(); if (msg.value) { loggedInAccount = null; if (OnLoggedOut != null) { OnLoggedOut(); } } else { if (OnFailedToLogout != null) { OnFailedToLogout(); } } }); lobby.networkClient.RegisterHandler((short)CustomMessageTypes.RegisterAccountResponse, x => { var msg = x.ReadMessage <BooleanMessage>(); if (msg.value) { if (OnAccountRegistered != null) { OnAccountRegistered(); } } else { if (OnFailedToRegisterAccount != null) { OnFailedToRegisterAccount(); } } }); lobby.networkClient.RegisterHandler((short)CustomMessageTypes.GetFriendslistResponse, x => { var resp = x.ReadMessage <GetFriendsListResponseData>(); if (resp.success) { if (OnFriendsListReceived != null) { OnFriendsListReceived(resp.friends); } } else { if (OnFailedToGetFriendsList != null) { OnFailedToGetFriendsList(); } } }); lobby.networkClient.RegisterHandler((short)CustomMessageTypes.InviteFriendResponse, x => { var resp = x.ReadMessage <BooleanMessage>(); if (resp.value) { if (OnFriendInvited != null) { OnFriendInvited(); } } else { if (OnFailedToInvite != null) { OnFailedToInvite(); } } }); lobby.networkClient.RegisterHandler((short)CustomMessageTypes.GetInvitationsResponse, x => { var msg = x.ReadMessage <InvitationsCollection>(); if (msg.success) { if (OnInvitationsReceived != null) { OnInvitationsReceived(msg.invitations); } } else { if (OnFailedToGetInvitations != null) { OnFailedToGetInvitations(); } } }); lobby.networkClient.RegisterHandler((short)CustomMessageTypes.AcceptInvitationResponse, x => { var msg = x.ReadMessage <BooleanMessage>(); if (msg.value) { if (OnInvitationAccepted != null) { OnInvitationAccepted(); } } else { if (OnFailedToAcceptInvitation != null) { OnFailedToAcceptInvitation(); } } }); lobby.networkClient.RegisterHandler((short)CustomMessageTypes.DenyInvitationResponse, x => { var msg = x.ReadMessage <BooleanMessage>(); if (msg.value) { if (OnInvitationDenied != null) { OnInvitationDenied(); } } else { if (OnFailedToDeny != null) { OnFailedToDeny(); } } }); }