示例#1
0
        public static void LoadGraph(string path)
        {
            DialogGraph currentGraph;

            if (string.IsNullOrEmpty(path))
            {
                return;
            }
            currentGraph = AssetDatabase.LoadAssetAtPath <DialogGraph>(path);
            if (currentGraph != null)
            {
                DialogEditor currentWindow = EditorWindow.GetWindow <DialogEditor>();
                if (currentWindow != null)
                {
                    currentWindow.CurrentGraph = currentGraph;
                }
                else
                {
                    ErrorMessage("Dialog editor window is lost, reopen it");
                }
            }
            else
            {
                ErrorMessage($"Failed to load graph {path}");
            }
        }
示例#2
0
        private static void ShowEditor()
        {
            DialogEditor editor = GetWindow <DialogEditor>();

            Instance       = editor;
            editor.minSize = new Vector2(800, 600);
        }
示例#3
0
 private void OnEnable()
 {
     if (Instance == null)
     {
         Instance = this;
     }
 }
示例#4
0
        public static void CreateDialogGraph(string name)
        {
            DialogGraph currentGraph = ScriptableObject.CreateInstance <DialogGraph>();

            if (currentGraph != null)
            {
                currentGraph.Name = name;
                currentGraph.Initialize();
                AssetDatabase.CreateAsset(currentGraph, @"Assets/Resources/Database/" + name + ".asset");
                AssetDatabase.SaveAssets();
                AssetDatabase.Refresh();
                DialogEditor currentWindow = EditorWindow.GetWindow <DialogEditor>();
                if (currentWindow != null)
                {
                    currentWindow.CurrentGraph = currentGraph;
                }
                else
                {
                    ErrorMessage("Dialog editor window is lost, reopen it");
                }
            }
        }