public override void OnInspectorGUI()
    {
        SpriteSorter sorter = (SpriteSorter)target;

        SpriteRenderer renderer = sorter.GetComponent <SpriteRenderer>();

        sorter.isChild = EditorGUILayout.Toggle("Is Child", sorter.isChild);
        sorter.layer   = EditorGUILayout.IntField(sorter.isChild ? "Offset from Base" : "Layer", sorter.layer);

        if (GUILayout.Button("Move Up"))
        {
            sorter.layer++;
        }
        if (GUILayout.Button("Move Down"))
        {
            sorter.layer--;
        }

        if (!sorter.isChild)
        {
            if (GUILayout.Button("Randomize Color"))
            {
                renderer.color = Random.ColorHSV(0, 1, 0, 1, 0, 1, 1, 1);
            }
        }

        sorter.UpdateSortingLayer();
    }
Пример #2
0
    private SpriteSorter[] GetBases(SpriteSorter s)
    {
        Transform t = s.transform;

        while (t.parent != null)
        {
            t = t.parent;
        }

        return(t.GetComponentsInChildren <SpriteSorter>());
    }
Пример #3
0
 // Start is called before the first frame update
 void Start()
 {
     sorter = FindObjectOfType <SpriteSorter>();
     player = Instantiate(player, startPos.transform.position, Quaternion.identity);
     sorter.registerRenderer(player.GetComponent <SpriteRenderer>());
 }