private void showNetworkErrorPrompt(string titleToken, string messageToken, Action <DPrompt.ButtonFlags> callback = null, int maxReconnectionOverride = 0) { showingError = true; zoneTransitionService.CancelTransition(gameStateController.SceneConfig.HomeSceneName); ErrorData errorData = new ErrorData(titleToken, messageToken); errorData.Buttons = (DPrompt.ButtonFlags.CANCEL | DPrompt.ButtonFlags.RETRY); errorData.PromptPrefab = promptManager.ErrorPrefab; errorData.Callback = (callback ?? new Action <DPrompt.ButtonFlags>(onButtonPressed)); if (connectionManager.ConnectionState == ConnectionManager.NetworkConnectionState.BasicConnection && sessionManager.HasSession) { int num = 0; if (maxReconnectionOverride > 0) { num = maxReconnectionOverride; } if (reconnectionAttempts++ >= num) { errorData.MessageToken = "GlobalUI.ErrorMessages.RetryFailureError"; errorData.Buttons = DPrompt.ButtonFlags.OK; errorData.PromptPrefab = promptManager.FatalPrefab; reconnectionAttempts = 0; } } else { errorData.MessageToken = messageToken; errorData.Buttons = DPrompt.ButtonFlags.OK; errorData.PromptPrefab = promptManager.FatalPrefab; reconnectionAttempts = 0; } showIconPrompt(errorData, NetworkErrorIconContentKey); }