void Update() { if (isEnter) { Tools.ScreenPointToWorldPointInRectangle(d_symbolText.rectTransform, Input.mousePosition, d_symbolText.canvas.worldCamera, out localPosition); //localPosition *= d_symbolText.pixelsPerUnit; //Debug.LogFormat("Pos:{0}", localPosition); RenderCache.BaseData bd = d_symbolText.renderCache.Get(localPosition); if (d_baseData != bd) { if (d_baseData != null) { d_baseData.OnMouseLevel(); } d_baseData = bd; if (d_baseData != null) { d_baseData.OnMouseEnter(); } } } else { if (d_baseData != null) { d_baseData.OnMouseLevel(); d_baseData = null; } } }
public void OnPointerDown(PointerEventData eventData) { if (!Tools.ScreenPointToWorldPointInRectangle(d_symbolText.rectTransform, eventData.position, d_symbolText.canvas.worldCamera, out localPosition)) { return; } //localPosition *= d_symbolText.pixelsPerUnit; d_down_basedata = d_symbolText.renderCache.Get(localPosition); }
public void OnPointerUp(PointerEventData eventData) { if (!Tools.ScreenPointToWorldPointInRectangle(d_symbolText.rectTransform, eventData.position, d_symbolText.canvas.worldCamera, out localPosition)) { return; } //localPosition *= d_symbolText.pixelsPerUnit; var up_node = d_symbolText.renderCache.Get(localPosition); if (d_down_basedata != up_node) { return; } if (d_down_basedata != null) { OnClick.Invoke(d_down_basedata.node); } }