static void RestoreMaterial()
    {
        MaterialList = null;
        AutoMaterial.Update();
        List <GameObject> activeGameOjbect = new List <GameObject>(UnityEditor.Selection.gameObjects);

        foreach (GameObject go in activeGameOjbect)
        {
            RestoreGameObject(go);
        }
    }
Exemple #2
0
    // Start is called before the first frame update

    public override void OnInspectorGUI()
    {
        AutoMaterial myTarget = (AutoMaterial)target;

        addintoArray();
        DrawDefaultInspector();

        _choiceIndex = EditorGUILayout.Popup("Material", _choiceIndex, _choice);
        // Update the selected choice in the underlying object
        myTarget.myMaterial = _choice[_choiceIndex];
        if (myTarget.myMaterial == null)
        {
            myTarget.myMaterial = _choice[0];
        }
        myTarget.matrial = GameObject.Find(myTarget.myMaterial);
    }
    public void Set()
    {
#if UNITY_EDITOR
        if (mRenderer == null)
        {
            return;
        }

        if (CurrentQueue == 0)
        {
            mRenderer.sharedMaterials = mMaterial;
            mDynamicMat = null;
        }
        else
        {
            if (mMaterial == null)
            {
                mDynamicMat = null;
                return;
            }

            mDynamicMat = AutoMaterial.GetMaterialsQueue(mMaterial, CurrentQueue);
            mRenderer.sharedMaterials = mDynamicMat;
        }
#else
        if (CurrentQueue != 0)
        {
            Renderer r = GetComponent <Renderer>();
            if (r != null)
            {
                r.sharedMaterials = AutoMaterial.GetMaterialsQueue(r.sharedMaterials, CurrentQueue);
            }
        }

        Object.Destroy(this);
#endif
    }