1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using UnityEngine;
- using UnityEngine.UI;
- namespace CommonUnity3D.UGUI
- {
- /// <summary>
- /// 只用于透明并且需要点击的地方
- /// </summary>
- public class InteractiveDummyGraphics : Image
- {
- private DisplayNode mBinding;
- public DisplayNode Binding { get { return mBinding; } }
- public InteractiveDummyGraphics()
- {
- }
- protected override void Start()
- {
- this.mBinding = DisplayNode.AsDisplayNode(gameObject);
- this.raycastTarget = true;
- base.Start();
- }
- public override bool Raycast(Vector2 sp, Camera eventCamera)
- {
- if (mBinding.EnableChildren)
- {
- return base.Raycast(sp, eventCamera);
- }
- return false;
- }
- protected override void OnPopulateMesh(UnityEngine.UI.VertexHelper vh)
- {
- var size = rectTransform.sizeDelta;
- Color color = new Color(0, 0, 0, 0);
- vh.Clear();
- vh.AddVert(new Vector3(0, 0), color, Vector2.zero);
- vh.AddVert(new Vector3(size.x, 0), color, Vector2.zero);
- vh.AddVert(new Vector3(size.x, -size.y), color, Vector2.zero);
- vh.AddVert(new Vector3(0, -size.y), color, Vector2.zero);
- vh.AddTriangle(0, 1, 2);
- vh.AddTriangle(2, 3, 0);
- }
-
- }
- }
|