Beispiel #1
0
    /// <summary>
    /// Enable
    /// </summary>
    public void OnEnable(UnityEngine.Object ObjectReference)
    {
        CurrentTarget = (PythonBase)ObjectReference;

        if (Buffer == null)
        {
            Buffer = ScriptableObject.CreateInstance <Code>();
        }

        if (CurrentTarget.InMemory)
        {
            //Load buffer from Memory
            Buffer = EditorDataBase.Instance.GetInstance(CurrentTarget.GetInstanceID());
        }

        else if (CurrentTarget.FileCreated)
        {
            //Load buffer from file
            LoadFileStream();
        }
        else
        {
            //Load buffer by default
            Buffer.Initialize();
        }
    }
Beispiel #2
0
    /// <summary>
    /// Dialogs the file system.
    /// </summary>
    private void DialogFileSystem()
    {
        if (!Target.Saved && Target.HasChanges)
        {
            switch (DialogSave())
            {
            //Save
            case 0:
                if (!Target.FileCreated)
                {
                    SaveFileLocation();
                }
                else
                {
                    SaveCodeToFile();
                    Target.InMemory = false;
                }
                break;

            //Cancel
            case 1:
                if (Target.FileCreated)
                {
                    Target.Saved      = true;
                    Target.HasChanges = false;
                }
                break;

            //Keep in Memory
            case 2:
                EditorDataBase.Instance.AddInstance(Target.GetInstanceID(), editor.Buffer);
                Target.InMemory = true;
                break;
            }
        }
    }