GateEnterPrompt.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System;
  2. using I2.Loc;
  3. using UnityEngine;
  4. [RequireComponent(typeof(BoxCollider2D))]
  5. public class GateEnterPrompt : BaseBehaviour
  6. {
  7. private void Start()
  8. {
  9. this._info[0] = ScriptLocalization.ui_detailInfo.coordinate + ScriptLocalization.Get("ui/detailInfo/coordinate/" + this._coordinateId);
  10. this._info[1] = ScriptLocalization.ui_detailInfo.altitude + this._altitude + ScriptLocalization.ui_detailInfo.meter;
  11. this._info[2] = ScriptLocalization.Get("mobile/detailInfo/" + this._promptId);
  12. }
  13. private void Update()
  14. {
  15. if (R.Mode.IsInStoryMode() && this._promptAnim)
  16. {
  17. this._promptAnim.GetComponent<DetailInfoAnim>().FadeOut(0f);
  18. }
  19. }
  20. private void OnTriggerEnter2D(Collider2D other)
  21. {
  22. if (other.CompareTag("Player"))
  23. {
  24. this._promptAnim = UnityEngine.Object.Instantiate<GameObject>(this.detailUI).GetComponent<DetailInfoAnim>();
  25. this._promptAnim.StartAnim(this._info);
  26. this._promptAnim.GetComponent<NGUIFollowGameObject>().SetFollowTransform(base.transform, true);
  27. }
  28. }
  29. private void OnTriggerExit2D(Collider2D other)
  30. {
  31. if (other.CompareTag("Player") && this._promptAnim)
  32. {
  33. this._promptAnim.FadeOut(0f);
  34. }
  35. }
  36. private void OnDestroy()
  37. {
  38. if (this._promptAnim != null)
  39. {
  40. UnityEngine.Object.Destroy(this._promptAnim.gameObject);
  41. }
  42. }
  43. public void FadeOut()
  44. {
  45. if (this._promptAnim != null)
  46. {
  47. this._promptAnim.FadeOut(0f);
  48. }
  49. }
  50. [SerializeField]
  51. private GameObject detailUI;
  52. [SerializeField]
  53. private int _coordinateId;
  54. [SerializeField]
  55. private int _altitude;
  56. [SerializeField]
  57. private int _promptId;
  58. private string[] _info = new string[3];
  59. private DetailInfoAnim _promptAnim;
  60. }