using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.EventSystems; using System; using System.Collections.Generic; public class ViewBagEquip : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler { public GameObject viewEquipmentImg;//查看装备UI public GameObject viewEquipmentImgSprite;//查看装备UI的图片精灵 private string equipmentSpriteName;//装备精灵名 public string viewEquipmentImgSpriteName;//查看装备时装备精灵名 private RectTransform rectTransform; private Vector2 pos; private Vector2 offset = new Vector2(8f, 8f); // Use this for initialization void Start () { viewEquipmentImg = transform.parent.parent.Find("Image").gameObject; equipmentSpriteName = this.GetComponent().sprite.name; viewEquipmentImgSpriteName = equipmentSpriteName.Substring(0, equipmentSpriteName.Length - 1) + "D"; viewEquipmentImgSprite = Resources.Load("UIPrefab/Equipment/" + viewEquipmentImgSpriteName); rectTransform = viewEquipmentImg.transform as RectTransform; } // Update is called once per frame void Update () { if (viewEquipmentImg.activeSelf && RectTransformUtility.ScreenPointToLocalPointInRectangle(transform.parent.parent.transform as RectTransform, Input.mousePosition, null, out pos)) { rectTransform.anchoredPosition = new Vector2(pos.x + offset.x, pos.y + offset.y); } } public void OnPointerEnter(PointerEventData eventData) { viewEquipmentImg.SetActive(true); viewEquipmentImg.GetComponent().sprite = viewEquipmentImgSprite.GetComponent().sprite; viewEquipmentImg.transform.Find("Text").GetComponent().text = equipmentSpriteName.Substring(0, equipmentSpriteName.Length - 1); } public void OnPointerExit(PointerEventData eventData) { viewEquipmentImg.SetActive(false); } }