예제 #1
0
        public Vector3 GetFixedPos(RectTransform circleRect = null, CircleFixType fixType = CircleFixType.FixByHeight,
                                   float?radius             = null)
        {
            if (relatee == null)
            {
                SetRelateeRect(circleRect);
            }

            Vector3 rPos = circleRect.InverseTransformPoint(transform.position);

            switch (fixType)
            {
            case CircleFixType.FixByHeight:
                rPos = FixPosByHeight(rPos);
                break;

            case CircleFixType.FixByWidth:
                rPos = FixPosByWidth(rPos);
                break;

            case CircleFixType.FixByRadius:
                rPos = FixPosByRadius(rPos, radius);
                break;
            }
            rPos = circleRect.TransformPoint(rPos);
            rPos = transform.parent.InverseTransformPoint(rPos);

            return(rPos);
        }
예제 #2
0
        RectTransform relatee; //Circle RectTransform

        public void FixPos(RectTransform circleRect = null, CircleFixType fixType = CircleFixType.FixByHeight,
                           float?radius             = null)
        {
            transform.localPosition = GetFixedPos(circleRect, fixType, radius);
        }