using System; using I2.Loc; using UnityEngine; [RequireComponent(typeof(BoxCollider2D))] public class GateEnterPrompt : BaseBehaviour { private void Start() { this._info[0] = ScriptLocalization.ui_detailInfo.coordinate + ScriptLocalization.Get("ui/detailInfo/coordinate/" + this._coordinateId); this._info[1] = ScriptLocalization.ui_detailInfo.altitude + this._altitude + ScriptLocalization.ui_detailInfo.meter; this._info[2] = ScriptLocalization.Get("mobile/detailInfo/" + this._promptId); } private void Update() { if (R.Mode.IsInStoryMode() && this._promptAnim) { this._promptAnim.GetComponent<DetailInfoAnim>().FadeOut(0f); } } private void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("Player")) { this._promptAnim = UnityEngine.Object.Instantiate<GameObject>(this.detailUI).GetComponent<DetailInfoAnim>(); this._promptAnim.StartAnim(this._info); this._promptAnim.GetComponent<NGUIFollowGameObject>().SetFollowTransform(base.transform, true); } } private void OnTriggerExit2D(Collider2D other) { if (other.CompareTag("Player") && this._promptAnim) { this._promptAnim.FadeOut(0f); } } private void OnDestroy() { if (this._promptAnim != null) { UnityEngine.Object.Destroy(this._promptAnim.gameObject); } } public void FadeOut() { if (this._promptAnim != null) { this._promptAnim.FadeOut(0f); } } [SerializeField] private GameObject detailUI; [SerializeField] private int _coordinateId; [SerializeField] private int _altitude; [SerializeField] private int _promptId; private string[] _info = new string[3]; private DetailInfoAnim _promptAnim; }