Example #1
0
    public static Node ToNode(this NodeType type)
    {
        Node toReturn = null;

        switch (type)
        {
          case NodeType.End:
        toReturn = new Node();
        break;
          case NodeType.OneOptionMessage:
        toReturn = new OneOptionMessageNode();
        break;
          case NodeType.TwoOptionMessage:
        toReturn = new TwoOptionMessageNode();
        break;
          case NodeType.FourOptionMessage:
        toReturn = new FourOptionMessageNode();
        break;
          case NodeType.TextboxMessage:
        toReturn = new Node();
        break;
          case NodeType.Action:
        toReturn = new ActionNode();
        break;
          case NodeType.StartSequence:
        toReturn = new StartSequenceNode();
        break;
          case NodeType.TimeLeap:
        toReturn = new TimeLeapNode();
        break;
          case NodeType.IngameDelay:
        toReturn = new IngameDelayNode();
        break;
        }

        return toReturn;
    }
Example #2
0
    private float DrawOneOptionMessageNode(OneOptionMessageNode node, float x, float y)
    {
        float fieldwidth = NODEWIDTH - PADDING * 2;

        y = DrawMessageNode(node, x, y);

        node.ShowOptionText = EditorGUI.Toggle(new Rect(x + PADDING, y, SMALLELEMENTWIDTH, FIELDHEIGHT), node.ShowOptionText);
        EditorGUI.LabelField(new Rect(x + PADDING + SMALLELEMENTWIDTH, y, fieldwidth - SMALLELEMENTWIDTH, FIELDHEIGHT), "Show option text");
        y += FIELDHEIGHT + PADDING;

        if (node.ShowOptionText)
        {
          EditorGUI.LabelField(new Rect(x + PADDING, y, fieldwidth * LABELWIDTH, FIELDHEIGHT), "Option");
          node.SetOption(EditorGUI.TextField(new Rect(x + PADDING + fieldwidth * LABELWIDTH, y, fieldwidth - fieldwidth * LABELWIDTH, FIELDHEIGHT), node.GetOption()));
          y += FIELDHEIGHT + PADDING;
        }

        return y;
    }