Exemplo n.º 1
0
    private static void createNewTextureRamp(MenuCommand command)
    {
        string path = "Assets";

        foreach (UnityEngine.Object obj in Selection.GetFiltered(typeof(UnityEngine.Object), SelectionMode.Assets))
        {
            path = AssetDatabase.GetAssetPath(obj);
            if (!string.IsNullOrEmpty(path) && File.Exists(path))
            {
                path = Path.GetDirectoryName(path);
                break;
            }
        }

        path = Path.Combine(path, DEFAULT_ASSET_NAME);
        path = AssetDatabase.GenerateUniqueAssetPath(path);

        TextureRampAsset asset = CreateInstance <TextureRampAsset>();

        AssetDatabase.CreateAsset(asset, path);

        Texture2D tex = new Texture2D(1, 1, TextureFormat.ARGB32, false, true);

        tex.name = "RampTexture";
        tex.alphaIsTransparency = true;
        asset._texture          = tex;
        AssetDatabase.AddObjectToAsset(tex, asset);

        AssetDatabase.SaveAssets();

        Selection.activeObject = asset;
    }
Exemplo n.º 2
0
    public override void OnInspectorGUI()
    {
        EditorGUI.BeginChangeCheck();

        SerializedProperty iterator = serializedObject.GetIterator();
        bool isFirst = true;

        while (iterator.NextVisible(isFirst))
        {
            EditorGUILayout.PropertyField(iterator, true);
            isFirst = false;
        }

        if (EditorGUI.EndChangeCheck())
        {
            serializedObject.ApplyModifiedProperties();
            TextureRampAsset asset = target as TextureRampAsset;
            asset.UpdateTextureAsset();
        }
    }