using System.Collections; 
 | 
using System.Collections.Generic; 
 | 
using UnityEngine; 
 | 
  
 | 
[RequireComponent(typeof(RectTransform))] 
 | 
public class SpringDecorate : MonoBehaviour 
 | 
{ 
 | 
    [SerializeField] int m_SortOrder = 0; 
 | 
  
 | 
    GameObject springDecorate = null; 
 | 
  
 | 
    private void Start() 
 | 
    { 
 | 
        if (GeneralDefine.UISpringDecorate != 0) 
 | 
        { 
 | 
            if (springDecorate == null) 
 | 
            { 
 | 
                springDecorate = UIUtility.CreateWidget("Container_SpringDecorate", "SpringDecorate"); 
 | 
            } 
 | 
            var rectTransform = springDecorate.transform as RectTransform; 
 | 
            rectTransform.MatchWhith(this.transform as RectTransform); 
 | 
  
 | 
            if (m_SortOrder != 0) 
 | 
            { 
 | 
                var canvas = this.AddMissingComponent<Canvas>(); 
 | 
                canvas.overrideSorting = true; 
 | 
                canvas.sortingLayerName = "UI"; 
 | 
                canvas.sortingOrder = m_SortOrder; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                var canvas = this.GetComponent<Canvas>(); 
 | 
                if (canvas != null) 
 | 
                { 
 | 
                    DestroyImmediate(canvas); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
        else 
 | 
        { 
 | 
            if (springDecorate != null) 
 | 
            { 
 | 
                GameObject.DestroyImmediate(springDecorate); 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
} 
 |