// ========================== MESSAGE HANDLERS - USER ============================ // ------------------------------------------------------------------------------- // OnClientMessageRequestUserLogin // @Client -> @Server // ------------------------------------------------------------------------------- void OnClientMessageRequestUserLogin(NetworkConnection conn, ClientMessageRequestUserLogin msg) { ServerMessageResponseUserLogin message = new ServerMessageResponseUserLogin { success = true, text = "", causesDisconnect = false }; if (DatabaseManager.singleton.TryUserLogin(msg.username, msg.password)) { LoginUser(conn, msg.username); // TODO: Add increased maxPlayers from user data later message.maxPlayers = GameRulesTemplate.singleton.maxPlayersPerUser; message.LoadPlayerPreviews(DatabaseManager.singleton.GetPlayers(msg.username)); message.text = systemText.userLoginSuccess; } else { message.text = systemText.userLoginFailure; message.success = false; } conn.Send(message); }
// ========================== MESSAGE HANDLERS - USER ============================ // ------------------------------------------------------------------------------- /// <summary> /// Event <c>OnServerMessageResponseUserLogin</c>. /// Triggered when the client receives a login response from the server. /// Checks for the response succes and either shows the player select or auto selects the players. /// Occurs on the client. /// </summary> /// <param name="conn"></param> /// <param name="msg"></param> void OnServerMessageResponseUserLogin(NetworkConnection conn, ServerMessageResponseUserLogin msg) { if (msg.success) { playerPreviews.Clear(); playerPreviews.AddRange(msg.players); maxPlayers = msg.maxPlayers; // -- Check Auto select Player int playerIndex = playerPreviews.FindIndex(x => x.name == PortalManager.autoSelectPlayer); if (playerIndex != -1) { // -- Skip Player Select ClientScene.AddPlayer(NetworkClient.connection); PortalManager.autoSelectPlayer = ""; } else { // -- Show Player Select UIWindowLoginUser.singleton.Hide(); UIWindowPlayerSelect.singleton.Show(); } } OnServerMessageResponse(conn, msg); }
// ========================== MESSAGE HANDLERS - USER ============================ // ------------------------------------------------------------------------------- /// <summary> /// Event <c>OnServerMessageResponseUserLogin</c>. /// Triggered when the client receives a login response from the server. /// Checks for the response succes and either shows the player select or auto selects the players. /// Occurs on the client. /// </summary> /// <param name="conn"></param> /// <param name="msg"></param> void OnServerMessageResponseUserLogin(NetworkConnection conn, ServerMessageResponseUserLogin msg) { if (msg.success) { playerPreviews.Clear(); playerPreviews.AddRange(msg.players); maxPlayers = msg.maxPlayers; // -- Show Player Select if there are players // -- Show Player Creation if there are no players if (msg.players.Length > 0) { UIWindowPlayerSelect.singleton.Show(); } else { UIWindowPlayerCreate.singleton.Show(); } UIWindowLoginUser.singleton.Hide(); debug.LogFormat(this.name, nameof(OnServerMessageResponseUserLogin), conn.Id(), msg.players.Length.ToString()); //DEBUG } OnServerMessageResponse(conn, msg); }
// ========================== MESSAGE HANDLERS - USER ============================ // ------------------------------------------------------------------------------- void OnServerMessageResponseUserLogin(NetworkConnection conn, ServerMessageResponseUserLogin msg) { if (msg.success) { playerPreviews.Clear(); playerPreviews.AddRange(msg.players); maxPlayers = msg.maxPlayers; UIWindowLoginUser.singleton.Hide(); UIWindowPlayerSelect.singleton.Show(); } OnServerMessageResponse(conn, msg); }
// ========================== MESSAGE HANDLERS - USER ============================ // ------------------------------------------------------------------------------- /// <summary> /// Event <c>OnServerMessageResponseUserLogin</c>. /// Triggered when the client receives a login response from the server. /// Checks for the response succes and either shows the player select or auto selects the players. /// Occurs on the client. /// </summary> /// <param name="conn"></param> /// <param name="msg"></param> void OnServerMessageResponseUserLogin(NetworkConnection conn, ServerMessageResponseUserLogin msg) { if (msg.success) { playerPreviews.Clear(); playerPreviews.AddRange(msg.players); maxPlayers = msg.maxPlayers; // -- Show Player Select if there are players // -- Show Player Creation if there are no players if (msg.players.Length > 0) { UIWindowPlayerSelect.singleton.Show(); } else { UIWindowPlayerCreate.singleton.Show(); } UIWindowLoginUser.singleton.Hide(); } OnServerMessageResponse(conn, msg); }