Esempio n. 1
0
    private void SaveFable()
    {
        using (new EditorGUI.DisabledScope(_fableNeedUpdate || _fableTitle == "" || _fableText == "" || audioClip == null)) {
            if (GUILayout.Button(new GUIContent("Save Fable"), GUILayout.Width(98), GUILayout.Height(30)))
            {
                FableAsset fable = new FableAsset(_fableTitle, _fableText, audioClip);

                List <FableAsset.NarrationMarker> narMarkers = new List <FableAsset.NarrationMarker>();

                foreach (TimestampMarker marker in _markers)
                {
                    narMarkers.Add(new FableAsset.NarrationMarker(marker.audioTime, marker.sample));
                }

                fable.markers = narMarkers;

                if (FableAssetCreator.CreateAsset(fable))
                {
                    Debug.Log("Asset creation succeeded");
                }
                else
                {
                    Debug.Log("Asset creation failed");
                }
            }
        }
    }
Esempio n. 2
0
    public static bool CreateAsset(FableAsset fable)
    {
        FableAsset newFable = FillAsset(fable);

        AssetDatabase.CreateAsset(fable, folderPath + fable.fableTitle + ".asset");
        AssetDatabase.SaveAssets();

        EditorUtility.FocusProjectWindow();

        return(true);
    }
Esempio n. 3
0
    public static FableAsset FillAsset(FableAsset fable)
    {
        FableAsset fableInstance = ScriptableObject.CreateInstance <FableAsset>();

        fableInstance.audioClip  = fable.audioClip;
        fableInstance.fableText  = fable.fableText;
        fableInstance.fableTitle = fable.fableTitle;
        fableInstance.markers    = fable.markers;

        return(fableInstance);
    }
Esempio n. 4
0
    private void LoadFable()
    {
        if (GUILayout.Button(new GUIContent("Load Fable"), GUILayout.Width(98), GUILayout.Height(30)))
        {
            string fablePath = EditorUtility.OpenFilePanel("Load Fable", "Assets/Prefabs/Narration", "");
            if (fablePath != "")
            {
                fablePath = fablePath.Replace(Application.dataPath, "Assets");
                FableAsset loadedFable = FableAssetCreator.LoadAsset(fablePath);

                if (loadedFable != null)
                {
                    _fableTitle = loadedFable.fableTitle;
                    _fableText  = loadedFable.fableText;
                    audioClip   = loadedFable.audioClip;

                    _markers = new List <TimestampMarker>();
                    if (loadedFable.markers != null)
                    {
                        foreach (FableAsset.NarrationMarker marker in loadedFable.markers)
                        {
                            _markers.Add(new TimestampMarker(marker.audioTime, marker.sample));
                        }
                    }
                    else
                    {
                        Debug.Log("Loaded markers are empty.");
                    }

                    ResetSettings();
                    PaintWaveform();

                    Repaint();
                }
                else
                {
                    Debug.Log("Wadu hek :(");
                }
            }
        }
    }