| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class WeiYiIconCtrl : MonoBehaviour{    private RectTransform rect;    private Camera _camera;        public WeiYiData _data;    private Text valueText;    private Text nameText;    public Transform targetTransForm;    public Button _Button;        public GongChengLieBiaoData _deviceData;        public void Init(WeiYiData data)    {        _camera = CameraManager.instance.mainCamera;        _data = data;                _deviceData = new GongChengLieBiaoData();        _deviceData.name = _data.name;        _deviceData.type = GongChengType.jingLiShuiZhunYi;        _deviceData.state = GongChengState.normal;        _deviceData.sid = _data.sid;        _deviceData.gid = _data.gid;                rect = this.GetComponent<RectTransform>();                rect.anchoredPosition = new Vector2(2000, 0);        nameText = this.transform.Find("nameText").GetComponent<Text>();        nameText.text = $"{_data.name}位移";        valueText = this.transform.Find("valueText").GetComponent<Text>();        valueText.text = $"{data.value} <size=12><color=FFFFFF>mm</color></size>";                _Button.onClick.AddListener(() =>        {            GCJKLayer._Instance.OpenDeviceTrendPanel(_deviceData.name,_deviceData.type,_deviceData.gid,_deviceData.sid);        });    }        void Update()    {        if (targetTransForm != null)        {            if (IsObjectInCameraView(targetTransForm, _camera))            {                rect.transform.position=_camera.WorldToScreenPoint(targetTransForm.position);            }            else            {                rect.transform.position = new Vector3(2000, 0, 0);            }        }    }        bool IsObjectInCameraView(Transform objectTransform, Camera camera)    {        Vector3 objectScreenPosition = camera.WorldToScreenPoint(objectTransform.position);        return objectScreenPosition.z > 0 &&               objectScreenPosition.x > 0 &&               objectScreenPosition.x < Screen.width &&               objectScreenPosition.y > 0 &&               objectScreenPosition.y < Screen.height;    }}
 |