public override void OnEnter() { DPrompt.ButtonFlags buttonFlags = DPrompt.ButtonFlags.None; if (OkButton) { buttonFlags |= DPrompt.ButtonFlags.OK; } if (CancelButton) { buttonFlags |= DPrompt.ButtonFlags.CANCEL; } if (YesButton) { buttonFlags |= DPrompt.ButtonFlags.YES; } if (NoButton) { buttonFlags |= DPrompt.ButtonFlags.NO; } if (CloseButton) { buttonFlags |= DPrompt.ButtonFlags.CLOSE; } DPrompt data = new DPrompt(i18nTitleText, i18nBodyText, buttonFlags, Image, IsModal); Service.Get <PromptManager>().ShowPrompt(data, onButtonPressed, PrefabOverride); }
public void ShowFatal(string type, string format, params object[] args) { DPrompt.ButtonFlags buttons = DPrompt.ButtonFlags.None; DPrompt data = new DPrompt(type, string.Format(format, args), buttons); ShowPrompt(data, null, FatalPrefab); }
private void onConfirmClearLayoutPromptButtonClicked(DPrompt.ButtonFlags flags) { if (DPrompt.IsConfirmation(flags)) { clearCurrentLayout(); } }
private IEnumerator loadPrompt() { DPrompt.ButtonFlags buttonFlags = DPrompt.ButtonFlags.None; for (int j = 0; j < PromptDefinition.Buttons.Length; j++) { buttonFlags |= PromptDefinition.Buttons[j]; } Sprite image = null; if (!string.IsNullOrEmpty(PromptDefinition.SpriteContentKey.Key)) { AssetRequest <Sprite> spriteRequest = Content.LoadAsync(PromptDefinition.SpriteContentKey); yield return(spriteRequest); image = spriteRequest.Asset; } if (!string.IsNullOrEmpty(PromptDefinition.PrefabContentKey.Key)) { AssetRequest <GameObject> prefabRequest = Content.LoadAsync(PromptDefinition.PrefabContentKey); yield return(prefabRequest); if ((bool)prefabRequest.Asset.GetComponent <PromptController>()) { Prefab = prefabRequest.Asset.GetComponent <PromptController>(); } } string titleText2 = PromptDefinition.i18nTitleText; string bodyText2 = PromptDefinition.i18nBodyText; bool translate = !string.IsNullOrEmpty(titleTextInsert) || !string.IsNullOrEmpty(bodyTextInsert); Localizer localizer = Service.Get <Localizer>(); string titleDesktopText = $"{titleText2}.Desktop"; string bodyDesktopText = $"{bodyText2}.Desktop"; titleText2 = (localizer.tokens.ContainsKey(titleDesktopText) ? titleDesktopText : titleText2); bodyText2 = (localizer.tokens.ContainsKey(bodyDesktopText) ? bodyDesktopText : bodyText2); if (translate) { titleText2 = (string.IsNullOrEmpty(titleTextInsert) ? localizer.GetTokenTranslation(titleText2) : string.Format(localizer.GetTokenTranslation(titleText2), titleTextInsert)); bodyText2 = (string.IsNullOrEmpty(bodyTextInsert) ? localizer.GetTokenTranslation(bodyText2) : string.Format(localizer.GetTokenTranslation(bodyText2), bodyTextInsert)); } _promptData = new DPrompt(titleText2, bodyText2, buttonFlags, image, PromptDefinition.IsModal, PromptDefinition.AutoClose, translate, PromptDefinition.UseCloseButton); List <PromptController.CustomButtonDefinition> customButtons = new List <PromptController.CustomButtonDefinition>(PromptDefinition.CustomButtonKeys.Length); for (int i = 0; i < PromptDefinition.CustomButtonKeys.Length; i++) { AssetRequest <CustomButton> request = Content.LoadAsync(PromptDefinition.CustomButtonKeys[i]); yield return(request); if (request.Asset != null) { customButtons.Add(request.Asset.Definition); } } _promptData.CustomButtons = customButtons.ToArray(); if (onCompleteHandler != null) { onCompleteHandler(this); } }
private void onIconLoaded(string path, Sprite icon) { DPrompt data = new DPrompt("GlobalUI.IAPWarning.Apple.Title", "GlobalUI.IAPWarning.Apple.Body", DPrompt.ButtonFlags.OK, icon); Service.Get <EventDispatcher>().DispatchEvent(default(ShowInAppPurchaseDisclaimerEvent)); Service.Get <PromptManager>().ShowPrompt(data, onButtonClicked); Service.Get <ICPSwrveService>().Action("purchase_disclaimer", "viewed"); }
public void ShowProductLoadedError() { DPrompt data = new DPrompt("Membership.Purchase.Error", membershipService.GetProductsLoadedErrorMsg()); Content.LoadAsync(delegate(string path, GameObject prefab) { onMembershipPromptLoaded(data, closeAfterError: false, prefab); }, MembershipPromptPrefabContentKey); }
protected override GameObject createButtonObject(DPrompt data, int buttonIndex, DPrompt.ButtonFlags flag, ref string i18nText) { if (flag == DPrompt.ButtonFlags.CLOSE) { closeButton.SetActive(value: true); return(closeButton); } return(base.createButtonObject(data, buttonIndex, flag, ref i18nText)); }
private void onRestoreFailed(ApplicationService.Error error) { toggleRestoreButton(value: true); membershipService.OnRestoreSuccess -= onRestoreSuccess; membershipService.OnRestoreFailed -= onRestoreFailed; DPrompt data = new DPrompt(error.Type, error.Message); Content.LoadAsync(delegate(string path, GameObject prefab) { onMembershipPromptLoaded(data, prefab); }, MembershipPromptPrefabContentKey); }
public void OnRestoreClicked() { if (!Service.Get <SessionManager>().HasSession) { DPrompt data = default(DPrompt); ref DPrompt reference = ref data; reference = new DPrompt("Membership.Purchase.RestoreMessageTitle", "Membership.Purchase.Restore.LoginRequired"); Content.LoadAsync(delegate(string path, GameObject prefab) { onMembershipPromptLoaded(data, prefab); }, MembershipPromptPrefabContentKey); }
public void ExecuteImmediate() { DPrompt.ButtonFlags buttonFlags = DPrompt.ButtonFlags.None; for (int i = 0; i < PromptDefinition.Buttons.Length; i++) { buttonFlags |= PromptDefinition.Buttons[i]; } Sprite image = null; if (!string.IsNullOrEmpty(PromptDefinition.SpriteContentKey.Key)) { image = Content.LoadImmediate(PromptDefinition.SpriteContentKey); } if (!string.IsNullOrEmpty(PromptDefinition.PrefabContentKey.Key)) { PromptController component = Content.LoadImmediate(PromptDefinition.PrefabContentKey).GetComponent <PromptController>(); if (component != null) { Prefab = component; } } string i18nTitleText = PromptDefinition.i18nTitleText; string i18nBodyText = PromptDefinition.i18nBodyText; bool flag = !string.IsNullOrEmpty(titleTextInsert) || !string.IsNullOrEmpty(bodyTextInsert); Localizer localizer = Service.Get <Localizer>(); string text = $"{i18nTitleText}.Desktop"; string text2 = $"{i18nBodyText}.Desktop"; i18nTitleText = (localizer.tokens.ContainsKey(text) ? text : i18nTitleText); i18nBodyText = (localizer.tokens.ContainsKey(text2) ? text2 : i18nBodyText); if (flag) { i18nTitleText = (string.IsNullOrEmpty(titleTextInsert) ? localizer.GetTokenTranslation(i18nTitleText) : string.Format(localizer.GetTokenTranslation(i18nTitleText), titleTextInsert)); i18nBodyText = (string.IsNullOrEmpty(bodyTextInsert) ? localizer.GetTokenTranslation(i18nBodyText) : string.Format(localizer.GetTokenTranslation(i18nBodyText), bodyTextInsert)); } _promptData = new DPrompt(i18nTitleText, i18nBodyText, buttonFlags, image, PromptDefinition.IsModal, PromptDefinition.AutoClose, flag, PromptDefinition.UseCloseButton); List <PromptController.CustomButtonDefinition> list = new List <PromptController.CustomButtonDefinition>(PromptDefinition.CustomButtonKeys.Length); for (int i = 0; i < PromptDefinition.CustomButtonKeys.Length; i++) { CustomButton customButton = Content.LoadImmediate(PromptDefinition.CustomButtonKeys[i]); if (customButton != null) { list.Add(customButton.Definition); } } _promptData.CustomButtons = list.ToArray(); if (onCompleteHandler != null) { onCompleteHandler(this); } }
private void onMembershipPromptLoaded(DPrompt data, bool closeAfterError, GameObject membershipPromptPrefab) { PromptController component = membershipPromptPrefab.GetComponent <PromptController>(); if (closeAfterError) { Service.Get <PromptManager>().ShowPrompt(data, onErrorClosed, component); } else { Service.Get <PromptManager>().ShowPrompt(data, null, component); } }
public void ShowGiftMessage(List <ServerAddedReward> rewards) { string text = ""; string bodyText = ""; string i18nText = ""; string tier = ""; if (rewards.Count > 1) { bodyText = Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referrer.B2"); foreach (ServerAddedReward reward in rewards) { ServerAddedReward current = reward; string str = string.Format(Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referrer.B2.Header"), current.instanceId); text = text + str + "\n"; } i18nText = Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referrer.B3"); tier = "thankyou_multiple"; } else if (rewards.Count == 1) { ServerAddedReward current = rewards[0]; if (current.instanceId == getCurrentDisplayName()) { AccountFlowData accountFlowData = Service.Get <MembershipService>().GetAccountFlowData(); text = string.Format(Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referee.A"), accountFlowData.Referrer); bodyText = Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referee.A1"); i18nText = Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.PopUp.A"); tier = "welcome"; } else { text = string.Format(Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referrer.B.Header"), current.instanceId); bodyText = Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referrer.B.Body"); i18nText = Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referrer.B3"); tier = "thankyou_single"; } } DPrompt data = new DPrompt(text, bodyText, DPrompt.ButtonFlags.OK, null, isModal: true, autoClose: true, isTranslated: true); data.SetText(DPrompt.PROMPT_TEXT_INFO, i18nText, isTranslated: true); Service.Get <ICPSwrveService>().Action("refer_gift_award", tier); Content.LoadAsync(delegate(string path, GameObject prefab) { onFriendshipPromptLoaded(data, prefab); }, FriendshipPromptPrefabContentKey); }
public static void AccountBannedPromptSetup(DPrompt promptData, AlertType bannedCategory, DateTime?expirationDate) { string text = string.Empty; if (expirationDate.HasValue) { TimeSpan value = (expirationDate - DateTime.Now).Value; if (value.TotalHours >= 0.0) { text = $"{(int)value.TotalHours}hrs {Math.Max(1, value.Minutes)}m"; } } promptData.SetText("Moderation.Text.Time", text, isTranslated: true); string i18nText = (string.IsNullOrEmpty(text) ? "Account.PermaBan.Body" : "Account.TemporaryBan.Body"); promptData.SetText(DPrompt.PROMPT_TEXT_BODY, i18nText); }
public void OnRestoreClicked() { if (!Service.Get <SessionManager>().HasSession) { DPrompt data = new DPrompt("Membership.Purchase.RestoreMessageTitle", "Membership.Purchase.Restore.LoginRequired"); Content.LoadAsync(delegate(string path, GameObject prefab) { onMembershipPromptLoaded(data, prefab); }, MembershipPromptPrefabContentKey); } else { string format = "Membership.Purchase.Restore.NothingToRestore"; ApplicationService.Error error = new ApplicationService.Error("Membership.Purchase.RestoreMessageTitle", format); onRestoreFailed(error); } }
public GameObject ShowPrompt(DPrompt data, Action <DPrompt.ButtonFlags> callback, PromptController prefab = null) { if (prefab == null) { prefab = PromptPrefab; } GameObject gameObject = UnityEngine.Object.Instantiate(prefab.gameObject); gameObject.transform.SetParent(base.transform, worldPositionStays: false); PromptController component = gameObject.GetComponent <PromptController>(); component.ShowPrompt(data, callback); if (PromptCreated != null) { PromptCreated(gameObject); } return(gameObject); }
public override IEnumerator Execute(ScriptableActionPlayer player) { DPrompt.ButtonFlags buttonFlags = DPrompt.ButtonFlags.None; for (int i = 0; i < Options.Length; i++) { buttonFlags = (DPrompt.ButtonFlags)((int)buttonFlags | (1 << (int)Options[i].Button)); } DPrompt data = new DPrompt(i18nTitleText, i18nBodyText, buttonFlags); Action <DPrompt.ButtonFlags> clickHandler = delegate(DPrompt.ButtonFlags pressed) { onClick(pressed, player); }; Service.Get <PromptManager>().ShowPrompt(data, clickHandler); while (!player.ActionIsFinished) { yield return(null); } }
public void ShowGiftMessage(List <ServerAddedReward> rewards) { string text = ""; string bodyText = ""; string i18nText = ""; string tier = ""; if (rewards.Count > 1) { bodyText = Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referrer.B2"); using (List <ServerAddedReward> .Enumerator enumerator = rewards.GetEnumerator()) { while (enumerator.MoveNext()) { string text2 = string.Format(arg0: enumerator.Current.instanceId, format: Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referrer.B2.Header")); text = text + text2 + "\n"; } } i18nText = Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referrer.B3"); tier = "thankyou_multiple"; } else if (rewards.Count == 1) { ServerAddedReward serverAddedReward = rewards[0]; if (serverAddedReward.instanceId == getCurrentDisplayName()) { AccountFlowData accountFlowData = Service.Get <MembershipService>().GetAccountFlowData(); text = string.Format(Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referee.A"), accountFlowData.Referrer); bodyText = Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referee.A1"); i18nText = Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.PopUp.A"); tier = "welcome"; } else { text = string.Format(Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referrer.B.Header"), serverAddedReward.instanceId); bodyText = Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referrer.B.Body"); i18nText = Service.Get <Localizer>().GetTokenTranslation("Playercard.FriendInvite.Referrer.B3"); tier = "thankyou_single"; } } DPrompt data = default(DPrompt); ref DPrompt reference = ref data;
public void PurchaseFailed(ApplicationService.Error error, bool closeAfterError) { membershipService.OnPurchaseFailed -= PurchaseFailed; membershipService.OnPurchaseSuccess -= PurchaseSuccess; if (error.Message == "Membership.Purchase.Error.ERROR_PURCHASE_CANCELLED_BY_USER") { Service.Get <ICPSwrveService>().Funnel(Service.Get <MembershipService>().MembershipFunnelName, "03a", "are_you_sure_view"); string promptId = (CurrentProduct == null) ? "MembershipAreYouSureNoTrialPrompt" : (CurrentProduct.IsTrial() ? "MembershipAreYouSureTrialPrompt" : "MembershipAreYouSureNoTrialPrompt"); Service.Get <PromptManager>().ShowPrompt(promptId, onAreYouSurePromptButtonClicked); } else { DPrompt data = new DPrompt(error.Type, error.Message); Content.LoadAsync(delegate(string path, GameObject prefab) { onMembershipPromptLoaded(data, closeAfterError, prefab); }, MembershipPromptPrefabContentKey); } if (this.OnPurchaseFailed != null) { this.OnPurchaseFailed(); } }
public override IEnumerator PerformFirstPass() { if (!Service.Get <GameSettings>().OfflineMode) { yield return(checkInternetConnection(Url)); if (!isConnected) { DPrompt data = new DPrompt("GlobalUI.ErrorMessages.NetworkConnectionError", "GlobalUI.ErrorMessages.CheckNetworkConnection", DPrompt.ButtonFlags.None, Image); prompt = Service.Get <PromptManager>().ShowPrompt(data, null); } while (!isConnected) { yield return(new WaitForSeconds(RetryTime)); yield return(checkInternetConnection(Url)); } if (prompt != null) { Object.Destroy(prompt); } } }
private bool onActionEvent(InputEvents.ActionEvent evt) { if (prop.IsOwnerLocalPlayer && base.enabled && evt.Action == InputEvents.Actions.Cancel) { if (ShowConfirmationPopup) { DPrompt data = new DPrompt(i18nConfirmationTitleText, i18nConfirmationBodyText, DPrompt.ButtonFlags.CANCEL | DPrompt.ButtonFlags.OK, ImageOverride); Service.Get <PromptManager>().ShowPrompt(data, onConfirmationPromptButtonsClicked); } else { Service.Get <ActionConfirmationService>().ConfirmAction(typeof(PropCancel), null, delegate { UnequipProp(); }); } if (RestoreTouchPadControlsOnCancel) { Service.Get <EventDispatcher>().DispatchEvent(new UIDisablerEvents.EnableUIElement("Joystick")); } } return(false); }
private void createConfirmationPrompt(string titleText, string bodyText, Action <DPrompt.ButtonFlags> callback) { DPrompt data = new DPrompt(titleText, bodyText, DPrompt.ButtonFlags.NO | DPrompt.ButtonFlags.YES); Service.Get <PromptManager>().ShowPrompt(data, callback); }
public void ShowProductLoadedError() { DPrompt data = default(DPrompt); ref DPrompt reference = ref data;
public GameObject ShowError(string type, string message, Action <DPrompt.ButtonFlags> callback = null) { DPrompt data = new DPrompt(type, message, DPrompt.ButtonFlags.CLOSE); return(ShowPrompt(data, callback, ErrorPrefab)); }
private void showIconPrompt(ErrorData errorData, SpriteContentKey iconContentKey) { DPrompt data = new DPrompt(errorData.TitleToken, errorData.MessageToken, errorData.Buttons, iconSprites[iconContentKey.Key]); promptManager.ShowPrompt(data, errorData.Callback ?? new Action <DPrompt.ButtonFlags>(clearShowingError), errorData.PromptPrefab); }
private void onMembershipPromptLoaded(DPrompt data, GameObject membershipPromptPrefab) { PromptController component = membershipPromptPrefab.GetComponent <PromptController>(); Service.Get <PromptManager>().ShowPrompt(data, null, component); }
private void onLoginError(ILoginResult result) { toggleInteraction(isInteractable: true); string errorMessage = ""; if (result is ILoginCorruptionDetectedResult) { errorMessage = Service.Get <Localizer>().GetTokenTranslation("Oops! Something went wrong. Please try again."); showGeneralError(errorMessage); MonoSingleton <NativeAccessibilityManager> .Instance.Native.HandleError(GeneralErrorText.GetInstanceID()); } else if (result is ILoginFailedAccountLockedOutResult) { errorMessage = Service.Get <Localizer>().GetTokenTranslation("Acount.Login.Errors.LockedOut"); showGeneralError(errorMessage); MonoSingleton <NativeAccessibilityManager> .Instance.Native.HandleError(GeneralErrorText.GetInstanceID()); } else if (result is ILoginFailedAuthenticationResult) { showUsernameError(string.Empty); if (!isPinging) { toggleInteraction(isInteractable: false); isPinging = true; Service.Get <ConnectionManager>().DoPingCheck(delegate(ConnectionManager.NetworkConnectionState connectionState) { isPinging = false; toggleInteraction(isInteractable: true); if (connectionState == ConnectionManager.NetworkConnectionState.NoConnection) { Service.Get <PromptManager>().ShowError("GlobalUI.ErrorMessages.NetworkConnectionError", "GlobalUI.ErrorMessages.CheckNetworkConnection"); } else { errorMessage = Service.Get <Localizer>().GetTokenTranslation("Acount.Login.Errors.InvalidCredentials"); showGeneralError(errorMessage); MonoSingleton <NativeAccessibilityManager> .Instance.Native.HandleError(GeneralErrorText.GetInstanceID()); onInvalidCredentialsError(errorMessage); } }); } } else if (result is ILoginFailedMultipleAccountsResult) { Service.Get <MixLoginCreateService>().OnMultipleAccountsResolutionSuccess += onSendSuccess; Service.Get <MixLoginCreateService>().MultipleAccountsResolutionSend(loginPayload.Username); Service.Get <PromptManager>().ShowError("Account.Login.Error.MultipleAccountsSameEmail", "Account.Login.Error.ResolveInstructionsEmailSent"); } else if (result is ILoginFailedGatedLocationResult) { Service.Get <PromptManager>().ShowError("GlobalUI.Homescreen.GeoGate.Title", "GlobalUI.Homescreen.GeoGate.Body"); } else if (result is ILoginFailedParentalConsentResult) { DPrompt data = new DPrompt("Acount.Login.Errors.ActivationNeeded", "Account.Login.Error.ActivationEmailResend", DPrompt.ButtonFlags.NO | DPrompt.ButtonFlags.YES); Service.Get <PromptManager>().ShowPrompt(data, resendActivationEmail); } else if (result is ILoginFailedProfileDisabledResult) { errorMessage = Service.Get <Localizer>().GetTokenTranslation("Acount.Login.Errors.BanPermanent"); showGeneralError(errorMessage); MonoSingleton <NativeAccessibilityManager> .Instance.Native.HandleError(GeneralErrorText.GetInstanceID()); } else if (result is ILoginFailedTemporaryBanResult) { onTemporaryBanError(); } else if (result is ILoginMissingInfoResult) { if (string.IsNullOrEmpty(loginPayload.Username)) { errorMessage = string.Format(Service.Get <Localizer>().GetTokenTranslation("Account.Create.Validation.Empty"), Service.Get <Localizer>().GetTokenTranslation("Account.Create.Validation.UsernameField")); showUsernameError(errorMessage); } if (string.IsNullOrEmpty(loginPayload.Password)) { errorMessage = string.Format(Service.Get <Localizer>().GetTokenTranslation("Account.Create.Validation.Empty"), Service.Get <Localizer>().GetTokenTranslation("Account.Create.Validation.PasswordField")); showPasswordError(errorMessage); } onMissingInfoError(errorMessage); } else if (result is ILoginFailedRateLimitedResult || result is ILoginSecurityUpdateResult) { string type = ""; string format = "Account.General.Error.RateLimited"; Service.Get <EventDispatcher>().DispatchEvent(new ApplicationService.Error(type, format)); } else { errorMessage = Service.Get <Localizer>().GetTokenTranslation("Account.Create.Validation.UnknownError"); showGeneralError(errorMessage); MonoSingleton <NativeAccessibilityManager> .Instance.Native.HandleError(GeneralErrorText.GetInstanceID()); if (Service.Get <MixLoginCreateService>().RegistrationConfig == null || Service.Get <MixLoginCreateService>().RegistrationAgeBand == null || Service.Get <MixLoginCreateService>().UpdateAgeBand == null) { string step = ((Service.Get <MixLoginCreateService>().RegistrationConfig == null) ? "config" : "ageband"); string type = "Account.Create.Error.OneID.Title"; string format = "Account.Create.Error.OneID"; Service.Get <EventDispatcher>().DispatchEvent(new SessionErrorEvents.RegistrationConfigError(type, format, step)); } } loginController.OnLoginError -= onLoginError; }