Example #1
0
    void OnEnable()
    {
        if (LayersNames == null)
        {
            LayersNames = GetSortingLayerNames();

            //We Search last picked by name, because if the order change, the ID is not going to be the same
            RendererSetLayer miTarget   = (RendererSetLayer)target;
            bool             StillExist = false;
            for (int i = LayersNames.Length; i-- != 0;)
            {
                if (LayersNames[i] == miTarget.LayerName)
                {
                    miTarget.IDLayerName = i;
                    StillExist           = true;
                    break;
                }
            }

            if (!StillExist)
            {
                //If the code enter here, the LayerName was deleted, so we return to Default
                miTarget.LayerName = "Default";
                for (int i = LayersNames.Length; i-- != 0;)
                {
                    if (LayersNames[i] == "Default")
                    {
                        miTarget.IDLayerName = i;
                        break;
                    }
                }
            }
        }
    }
Example #2
0
    public override void OnInspectorGUI()
    {
        RendererSetLayer miTarget = (RendererSetLayer)target;
        int newID = EditorGUILayout.Popup("SortingOrder: ", miTarget.IDLayerName, LayersNames);

        if (newID != miTarget.IDLayerName)//save changes
        {
            miTarget.IDLayerName = newID;
            miTarget.LayerName   = LayersNames[newID];
        }
        miTarget.orderLayer = EditorGUILayout.IntField("Order Layer", miTarget.orderLayer);
    }