/// <summary> /// Adds toast to the list. /// </summary> /// <param name="parent">Parent transform.</param> /// <param name="text">Text.</param> /// <param name="tokenId">Token ID for translation.</param> /// <param name="tokenArguments">Token arguments.</param> /// <param name="duration">Duration.</param> private static void AddToast( Transform parent , string text , R.sections.Toasts.strings tokenId , object[] tokenArguments , float duration ) { DebugEx.VerboseFormat("Toast.AddToast(parent = {0}, text = {1}, tokenId = {2}, tokenArguments = {3}, duration = {4})" , parent , text , tokenId , tokenArguments , duration); #region Toast GameObject GameObject toast = new GameObject("Toast"); Utils.InitUIObject(toast, parent); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component RectTransform toastTransform = toast.AddComponent <RectTransform>(); Utils.AlignRectTransformStretchStretch(toastTransform, 20f, 20f, 20f, 20f); #endregion //=========================================================================== // ToastScript Component //=========================================================================== #region ToastScript Component ToastScript toastScript = toast.AddComponent <ToastScript>(); toastScript.text = text; toastScript.tokenId = tokenId; toastScript.tokenArguments = tokenArguments; toastScript.duration = duration; #endregion #endregion sToasts.Add(toastScript); if (sToasts.Count == 1) { ShowNextToast(); } }
/// <summary> /// Return the string value associated with a particular resource ID. /// </summary> /// <returns>Localized string.</returns> /// <param name="id">String resource ID.</param> public static string GetString(R.sections.Toasts.strings id) { UnityTranslationInternal.Translator.LoadSection(R.sections.SectionID.Toasts, false); if ( UnityTranslationInternal.Translator.tokens[(int)R.sections.SectionID.Toasts + 1].selectedLanguage != null && UnityTranslationInternal.Translator.tokens[(int)R.sections.SectionID.Toasts + 1].selectedLanguage.stringValues[(int)id] != null ) { return(UnityTranslationInternal.Translator.tokens[(int)R.sections.SectionID.Toasts + 1].selectedLanguage.stringValues[(int)id]); } else { return(UnityTranslationInternal.Translator.tokens[(int)R.sections.SectionID.Toasts + 1].defaultLanguage.stringValues[(int)id]); } }
/// <summary> /// Return the string value associated with a particular resource ID, substituting the format arguments as defined in string.Format. /// </summary> /// <returns>Localized string.</returns> /// <param name="id">String resource ID.</param> /// <param name="formatArgs">Format arguments.</param> public static string GetString(R.sections.Toasts.strings id, params object[] formatArgs) { return(string.Format(GetString(id), formatArgs)); }
/// <summary> /// Show text notification with specified duration. /// </summary> /// <param name="parent">Parent transform.</param> /// <param name="tokenId">Token ID for translation.</param> /// <param name="duration">Duration.</param> /// <param name="tokenArguments">Token arguments.</param> public static void Show(Transform parent, R.sections.Toasts.strings tokenId, float duration, params object[] tokenArguments) { DebugEx.VerboseFormat("Toast.Show(parent = {0}, tokenId = {1}, duration = {2}, tokenArguments = {3})", parent, tokenId, duration, tokenArguments); AddToast(parent, null, tokenId, tokenArguments, duration); }
/// <summary> /// Show text notification with specified duration. /// </summary> /// <param name="parent">Parent transform.</param> /// <param name="tokenId">Token ID for translation.</param> /// <param name="duration">Duration.</param> public static void Show(Transform parent, R.sections.Toasts.strings tokenId, float duration) { DebugEx.VerboseFormat("Toast.Show(parent = {0}, tokenId = {1}, duration = {2})", parent, tokenId, duration); AddToast(parent, null, tokenId, null, duration); }