/// @endcond

    // Loads the material mapper asset; creates one if not found.
    private void LoadOrCreateMaterialMapper()
    {
        var scriptPath = AssetDatabase.GetAssetPath(MonoScript.FromScriptableObject(this));
        var rootFolder = scriptPath.Substring(0, scriptPath.LastIndexOf("ResonanceAudio/"));
        var materialMapperAssetPath = rootFolder + materialMapperRelativeAssetPath;

        materialMapper = AssetDatabase.LoadAssetAtPath <ResonanceAudioMaterialMapper>(
            materialMapperAssetPath);
        if (materialMapper == null)
        {
            materialMapper = ScriptableObject.CreateInstance <ResonanceAudioMaterialMapper>();
            AssetDatabase.CreateAsset(materialMapper, materialMapperAssetPath);
            AssetDatabase.Refresh();
            AssetDatabase.SaveAssets();
        }

        serializedMaterialMapper    = new UnityEditor.SerializedObject(materialMapper);
        reverbLayerMask             = serializedMaterialMapper.FindProperty("reverbLayerMask");
        includeNonStaticGameObjects =
            serializedMaterialMapper.FindProperty("includeNonStaticGameObjects");
        materialMap = serializedMaterialMapper.FindProperty("materialMap");

        materialMapper.Initialize();
        RefreshMaterialMapper();
        UpdateShader();
    }
Example #2
0
    /// @endcond

    // Loads the material mapper asset; creates one if not found.
    private void LoadOrCreateMaterialMapper()
    {
        materialMapper = AssetDatabase.LoadAssetAtPath <ResonanceAudioMaterialMapper>(
            materialMapperAssetPath);
        if (materialMapper == null)
        {
            materialMapper = ScriptableObject.CreateInstance <ResonanceAudioMaterialMapper>();
            AssetDatabase.CreateAsset(materialMapper, materialMapperAssetPath);
            AssetDatabase.SaveAssets();
        }

        serializedMaterialMapper = new UnityEditor.SerializedObject(materialMapper);
    }
Example #3
0
    /// @endcond

    // Loads the material mapper asset; creates one if not found.
    private void LoadOrCreateMaterialMapper()
    {
        materialMapper = AssetDatabase.LoadAssetAtPath <ResonanceAudioMaterialMapper>(
            materialMapperAssetPath);
        if (materialMapper == null)
        {
            materialMapper = ScriptableObject.CreateInstance <ResonanceAudioMaterialMapper>();
            AssetDatabase.CreateAsset(materialMapper, materialMapperAssetPath);
            AssetDatabase.SaveAssets();
        }

        serializedMaterialMapper    = new UnityEditor.SerializedObject(materialMapper);
        reverbLayerMask             = serializedMaterialMapper.FindProperty("reverbLayerMask");
        includeNonStaticGameObjects =
            serializedMaterialMapper.FindProperty("includeNonStaticGameObjects");
        materialMap = serializedMaterialMapper.FindProperty("materialMap");

        materialMapper.Initialize();
        RefreshMaterialMapper();
        UpdateShader();
    }