No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 

88 líneas
2.1 KiB

  1. using System;
  2. using CIG.Translation;
  3. using SUISS.Core;
  4. using Tweening;
  5. using UnityEngine;
  6. public class OverlayTitle : MonoBehaviour
  7. {
  8. public void Initialize(ILocalizedString titleText, ILocalizedString subtitleText = null)
  9. {
  10. this._title.LocalizedString = titleText;
  11. if (Localization.IsNullOrEmpty(subtitleText))
  12. {
  13. this._subtitle.gameObject.SetActive(false);
  14. }
  15. else
  16. {
  17. this._subtitle.gameObject.SetActive(true);
  18. this._subtitle.LocalizedString = subtitleText;
  19. }
  20. }
  21. public void ShowOpenAnimation(Action onFinished = null)
  22. {
  23. if (this._tweener.IsPlaying)
  24. {
  25. this._tweener.Stop();
  26. }
  27. if (onFinished != null)
  28. {
  29. Tweener.FinishedPlayingEventHandler onFinishedInternal = null;
  30. onFinishedInternal = delegate(Tweener tweener)
  31. {
  32. tweener.FinishedPlaying -= onFinishedInternal;
  33. onFinished();
  34. };
  35. this._tweener.FinishedPlaying += onFinishedInternal;
  36. }
  37. this._tweener.Reset(false);
  38. this._tweener.Play();
  39. }
  40. public void ShowCloseAnimation(Action onFinished = null)
  41. {
  42. if (this._tweener.IsPlaying)
  43. {
  44. this._tweener.Stop();
  45. }
  46. if (onFinished != null)
  47. {
  48. Tweener.FinishedPlayingEventHandler onFinishedInternal = null;
  49. onFinishedInternal = delegate(Tweener tweener)
  50. {
  51. tweener.FinishedPlaying -= onFinishedInternal;
  52. onFinished();
  53. };
  54. this._tweener.FinishedPlaying += onFinishedInternal;
  55. }
  56. this._tweener.Reset(true);
  57. this._tweener.PlayReverse();
  58. }
  59. public static OverlayTitle Get(Component comp)
  60. {
  61. OverlayTitle overlayTitle = comp.GetComponent<OverlayTitle>();
  62. if (overlayTitle == null)
  63. {
  64. overlayTitle = OverlayTitle.Create(comp.gameObject);
  65. }
  66. return overlayTitle;
  67. }
  68. private static OverlayTitle Create(GameObject go)
  69. {
  70. OverlayManager instance = SingletonMonobehaviour<OverlayManager>.Instance;
  71. return instance.CreateOverlay<OverlayTitle>(go, instance.TitlePrefab);
  72. }
  73. [SerializeField]
  74. private LocalizedText _title;
  75. [SerializeField]
  76. private LocalizedText _subtitle;
  77. [SerializeField]
  78. private Tweener _tweener;
  79. }