private static void RefreshLoggedInState() { var isLoggedIn = Client.MasterServer.CurrentPlayerIsLoggedIn; if (isLoggedIn) { MenuLogin.SetDisplayed(MenuLoginMode.None); RefreshCurrentGameServerConnectionState(); } else { var connectionState = Client.MasterServer.MasterServerConnectionState; if (Api.Client.SteamApi.IsSteamClient && Api.Client.SteamApi.State == SteamApiState.Connecting) { connectionState = ConnectionState.Connecting; } MenuLogin.SetDisplayed(connectionState == ConnectionState.Connecting ? MenuLoginMode.Connecting : MenuLoginMode.Login); } }
public static void ShowDialog(MasterClientLoginErrorCode errorCode) { string errorMessage; var title = DefaultTitle; switch (errorCode) { case MasterClientLoginErrorCode.TokenDisabled: // the master token has been expired and user need to login again // don't display any errors return; case MasterClientLoginErrorCode.LoginOrPasswordIncorrect: errorMessage = IncorrectEmailOrPassword; break; case MasterClientLoginErrorCode.GameNotOwned: errorMessage = GameNotOwned; break; case MasterClientLoginErrorCode.AccountBlocked: errorMessage = AccountBlocked; break; case MasterClientLoginErrorCode.AccountNotActivated: DialogWindow.ShowDialog( EmailWithTheActivation_Title, EmailWithTheActivation_Message, okText: Api.Client.SteamApi.IsSteamClient ? CoreStrings.Button_Continue : CoreStrings.Button_OK, okAction: () => { if (Api.Client.SteamApi.IsSteamClient) { Api.Client.SteamApi.TryLoginWithSteamAccount(); } }, textAlignment: TextAlignment.Left); return; case MasterClientLoginErrorCode.UsernameNotSelected: MenuLogin.SetDisplayed(MenuLoginMode.SelectUsername); return; case MasterClientLoginErrorCode.UsernameInvalid: MenuLogin.SetDisplayed(MenuLoginMode.SelectUsername); title = UsernameInvalid_Title; errorMessage = UsernameRequirements; break; case MasterClientLoginErrorCode.UsernameUsed: MenuLogin.SetDisplayed(MenuLoginMode.SelectUsername); title = UsernameUsed_Title; errorMessage = UsernameUsed_Message; break; case MasterClientLoginErrorCode.SteamUserNotAssigned: // display regular login menu (the game will detect this is a Steam version and properly handle that) MenuLogin.SetDisplayed(MenuLoginMode.Login); return; case MasterClientLoginErrorCode.UserHasAssignedDifferentSteamId: title = UserHasAssignedDifferentSteamId_Title; errorMessage = UserHasAssignedDifferentSteamId_Message; break; case MasterClientLoginErrorCode.UnknownError: default: errorMessage = UnknownError; break; } DialogWindow.ShowDialog(title, errorMessage, zIndexOffset: 9002, textAlignment: TextAlignment.Left); }