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);
        }
        
    }
}