예제 #1
0
    public static void CreateDialog(CS_DialogGraph curGraph, Vector3 mousePosition)
    {
        if (curGraph == null)
        {
            return;
        }

        CS_DialogBase currentDialog = null;

        currentDialog            = ScriptableObject.CreateInstance <CS_DialogBox>();
        currentDialog.DialogName = "Name";

        if (currentDialog != null)
        {
            currentDialog.InitDialog();

            Rect charRect = GetBoxPosition(curGraph);

            currentDialog.DialogRect = charRect;

            currentDialog.ParentGraph = curGraph;
            curGraph.Dialogs.Add(currentDialog);

            AssetDatabase.AddObjectToAsset(currentDialog, curGraph);
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
        }
    }
예제 #2
0
    private void ProcessEvents(Event e, Rect viewRect)
    {
        if (viewRect.Contains(e.mousePosition))
        {
            if (e.button == 0 && e.type == EventType.MouseDown)
            {
                DeselectAllDialogs();
                ShowProperties = false;
                bool setDialog = false;
                WantsConnection = false;
                selectedDialog  = null;

                for (int i = 0; i < Dialogs.Count; i++)
                {
                    if (Dialogs[i].DialogRect.Contains(e.mousePosition))
                    {
                        Dialogs[i].IsSelected = true;
                        selectedDialog        = Dialogs[i];
                        setDialog             = true;
                    }
                }

                if (!setDialog)
                {
                    DeselectAllDialogs();
                }
            }
        }
    }
예제 #3
0
    public static void DeleteDialog(int DialogID, CS_DialogGraph curGraph)
    {
        if (curGraph != null)
        {
            if (curGraph.Dialogs.Count >= DialogID)
            {
                CS_DialogBase deleteDialog = curGraph.Dialogs[DialogID];
                if (deleteDialog != null)
                {
                    curGraph.Dialogs.RemoveAt(DialogID);
                    GameObject.DestroyImmediate(deleteDialog, true);

                    AssetDatabase.SaveAssets();
                    AssetDatabase.Refresh();
                }
            }
        }
    }