using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; using UnityEngine.EventSystems; public class GuideStepClickItem : MonoBehaviour, IPointerClickHandler { public delegate void ItemClick(object initInfo); public ItemClick _ClickEvent; public RectTransform _OrgGOTrans; public RectTransform _SelfGOTrans; public List _OrgImage = new List(); public List _SelfImage = new List(); public List _OrgText = new List(); public List _SelfText = new List(); public bool _IsClickBehind = true; void Update() { if (_OrgGOTrans != null && _SelfGOTrans != null) { _SelfGOTrans.position = _OrgGOTrans.position; _SelfGOTrans.sizeDelta = _OrgGOTrans.sizeDelta; } if (_OrgImage.Count > 0 && _OrgImage.Count == _SelfImage.Count) { for (int i = 0; i < _OrgImage.Count; ++i) { if (_OrgImage[i].sprite != null) { _SelfImage[i].sprite = _OrgImage[i].sprite; _SelfImage[i].enabled = true; } } } for (int i = 0; i < _OrgText.Count; ++i) { if (_OrgText[i].text != _SelfText[i].text) { _SelfText[i].text = _OrgText[i].text; _SelfText[i].enabled = true; } } } public void OnPointerClick(PointerEventData eventData) { OnItemClick(); if (_IsClickBehind) { UIManager.Instance().RayCastBebind(eventData); } } public virtual void OnItemClick() { if (_ClickEvent != null) { _ClickEvent(this); } } }