示例#1
0
        private void OnNodeDataChanged(object sender, RoutedEventArgs e)
        {
            DialogueDataLine oldData = sourceData;
            DialogueDataLine newData = ToDialogueDataLine();

            History.History.Do(new History.Actions.Action_NodeDataChanged(this, oldData, newData));
        }
示例#2
0
 public Node(DialogueDataLine sourceData)
 {
     InitializeComponent();
     Width           = grid.Width;
     Height          = grid.Height;
     this.sourceData = sourceData;
     LoadDataFromSource();
     RecalculatePromptAreaVisibility();
 }
示例#3
0
        public DialogueDataLine ToDialogueDataLine()
        {
            DialogueDataLine d = new DialogueDataLine();

            d.rowName      = nodeNameField.Text;
            d.prompt       = PromptTextBox.Text;
            d.boundToActor = PromptActorsCombobox.Text;
            Point p = GetPosition();

            d.SetPosition(p.X, p.Y);

            switch (outputType.Text)
            {
            case "End dialogue":
                d.command          = "leave";
                d.commandArguments = string.Empty;
                break;

            case "Shortcut target":
                d.command          = "go-to-target";
                d.commandArguments = string.Empty;
                break;

            case "Shortcut":
                d.command          = "go-to";
                d.commandArguments = string.Empty;
                d.nextRowName      = TargetDialogueID.Text;
                break;

            case "Multiple choices":
                d.command          = "options";
                d.commandArguments = string.Empty;
                break;

            case "If player has item":
                d.command          = "has-item";
                d.commandArguments = itemName.Text + " " + itemCount.Text;
                break;

            case "Call actor event":
                d.command          = "actor-message";
                d.commandArguments = eventActorName.Text + " " + eventActorEventName.Text;
                break;

            case "Call level event":
                d.command          = "level-message";
                d.commandArguments = levelEventName.Text;
                break;

            case "Normal dialogue":
                d.command          = "dialogue";
                d.commandArguments = actorName.Text + ": " + dialogueText.Text;
                break;

            case "Check bool":
                d.command          = "get-bool";
                d.commandArguments = CheckBoolID.Text;
                break;

            case "Set bool":
                d.command          = "set-bool";
                d.commandArguments = SetBoolID.Text + " " + (SetBoolValue.IsChecked == true ? "true" : "false");
                break;

            case "Counter":
                d.command          = "counter";
                d.commandArguments = CounterNo.Text + " " + (CounterScopeLocal.IsChecked == true ? "local" : "global");
                break;

            default:
                break;
            }

            return(d);
        }