/// <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(); } }
/// <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; } } }