hch
3 天以前 4b25281b33f386b8c86b32340b684ae34402f7e5
Main/Component/UI/Decorate/Graph/CircleHollowImage.cs
@@ -22,7 +22,7 @@
    [SerializeField]
    Vector2 m_HollowArea=new Vector2(50,50);
    public Vector2 hollowArea {
    public Vector2 cell {
        get { return m_HollowArea; }
        set {
            m_HollowArea = value;
@@ -40,8 +40,8 @@
    private Image m_Image;
    public Image image { get { return m_Image ?? (m_Image = this.AddMissingComponent<Image>()); } }
    private List<Vector3> innerVertices;
    private List<Vector3> outterVertices;
    protected List<Vector3> innerVertices;
    protected List<Vector3> outterVertices;
    protected override void Awake() {
        innerVertices = new List<Vector3>();
@@ -60,8 +60,8 @@
        var height = image.rectTransform.rect.height;
        var outerArea = new Vector2(0.5f * width,0.5f * height);
        var realCenter = new Vector2(Mathf.Clamp(center.x,-width * 0.5f + hollowArea.x,width * 0.5f - hollowArea.x),
            Mathf.Clamp(center.y,-height * 0.5f + hollowArea.y,height * 0.5f - hollowArea.y));
        var realCenter = new Vector2(Mathf.Clamp(center.x,-width * 0.5f + cell.x,width * 0.5f - cell.x),
            Mathf.Clamp(center.y,-height * 0.5f + cell.y,height * 0.5f - cell.y));
        var uv = image.overrideSprite != null ? DataUtility.GetOuterUV(image.overrideSprite) : Vector4.zero;
@@ -84,7 +84,7 @@
            var sinA = Mathf.Sin(degree);
            degree = degree - degreeDelta;
            position = new Vector3(realCenter.x + cosA * hollowArea.x,realCenter.y + sinA * hollowArea.y);
            position = new Vector3(realCenter.x + cosA * cell.x,realCenter.y + sinA * cell.y);
            uv0 = new Vector2(position.x * uvScaleX + uvCenterX,position.y * uvScaleY + uvCenterY);
            uiVertex = UIUtility.PackageUIVertex(position,uv0,image.color);
            vh.AddVert(uiVertex);
@@ -118,7 +118,7 @@
        return Contains(local,outterVertices,innerVertices);
    }
    private bool Contains(Vector2 p,List<Vector3> outterVertices,List<Vector3> innerVertices) {
    protected bool Contains(Vector2 p,List<Vector3> outterVertices,List<Vector3> innerVertices) {
        var crossNumber = 0;
        crossNumber += UIUtility.RayCrossingCount(p,innerVertices);
        crossNumber += UIUtility.RayCrossingCount(p,outterVertices);