Пример #1
0
 public void DisableShowframe() {
     switch (framedElementStatus) {
         case FramedElementStatus.DrawnOver:
             if (framedElement.overrideSprite == frameSprite)  framedElement.overrideSprite = null;
             break;
         case FramedElementStatus.ComponentAdded: Destroy(framedElement); break;
         case FramedElementStatus.AddedAsChild: Destroy(framedElement.gameObject);break;
     }
     framedElement = null;
     framedElementStatus = FramedElementStatus.NotAssigned;
 }
Пример #2
0
        public void SetShowframe(RectTransform target)
        {
            DisableShowframe();
            var gc = target.GetComponent<Graphic>();

            void PrepareImage()
            {                
                framedElement.sprite = frameSprite;
                framedElement.pixelsPerUnitMultiplier = 20;
                framedElement.type = Image.Type.Sliced;                
            }

            if (gc != null)
            {
                if (gc is Image)
                {
                    framedElement = gc as Image;
                    framedElement.overrideSprite = frameSprite;
                    framedElementStatus = FramedElementStatus.DrawnOver;
                }
                else
                {
                    var g = new GameObject("tutorial marker");
                    g.transform.parent = target;
                    framedElement = g.AddComponent<Image>();
                    PrepareImage();
                    var rt = g.GetComponent<RectTransform>();
                    rt.anchorMin = Vector2.zero;
                    rt.anchorMax = Vector2.one;
                    rt.sizeDelta = Vector2.zero;
                    rt.anchoredPosition = Vector2.zero;
                    rt.localScale = Vector3.one;
                    framedElementStatus = FramedElementStatus.AddedAsChild;
                }
            }
            else
            {
                framedElement = target.gameObject.AddComponent<Image>();
                PrepareImage();
                framedElementStatus = FramedElementStatus.ComponentAdded;
            }
        }