Пример #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;
    }
Пример #2
0
    private float DrawTimeLeapNode(TimeLeapNode node, float x, float y)
    {
        float fieldwidth = NODEWIDTH - PADDING * 2;

        TimeStamp t = node.TimeConsumed;
        EditorGUI.LabelField(new Rect(x + PADDING, y, fieldwidth * LABELWIDTH, FIELDHEIGHT), "Duration");
        t.MinutesInThisHour = EditorGUI.IntField(new Rect(x + PADDING + fieldwidth * LABELWIDTH + (fieldwidth - fieldwidth * LABELWIDTH) / 5 * (0 + 2 / 3f), y, (fieldwidth - fieldwidth * LABELWIDTH) / 5, FIELDHEIGHT), t.MinutesInThisHour);
        EditorGUI.LabelField(new Rect(x + PADDING + fieldwidth * LABELWIDTH + (fieldwidth - fieldwidth * LABELWIDTH) / 5 * (0 + 0 / 3f), y, (fieldwidth - fieldwidth * LABELWIDTH) / 7.5f, FIELDHEIGHT), "M");
        t.HoursInThisDay = EditorGUI.IntField(new Rect(x + PADDING + fieldwidth * LABELWIDTH + (fieldwidth - fieldwidth * LABELWIDTH) / 5 * (1 + 4 / 3f), y, (fieldwidth - fieldwidth * LABELWIDTH) / 5, FIELDHEIGHT), t.HoursInThisDay);
        EditorGUI.LabelField(new Rect(x + PADDING + fieldwidth * LABELWIDTH + (fieldwidth - fieldwidth * LABELWIDTH) / 5 * (1 + 2 / 3f), y, (fieldwidth - fieldwidth * LABELWIDTH) / 7.5f, FIELDHEIGHT), "H");
        t.Days = EditorGUI.IntField(new Rect(x + PADDING + fieldwidth * LABELWIDTH + (fieldwidth - fieldwidth * LABELWIDTH) / 5 * (2 + 6 / 3f), y, (fieldwidth - fieldwidth * LABELWIDTH) / 5, FIELDHEIGHT), t.Days);
        EditorGUI.LabelField(new Rect(x + PADDING + fieldwidth * LABELWIDTH + (fieldwidth - fieldwidth * LABELWIDTH) / 5 * (2 + 4 / 3f), y, (fieldwidth - fieldwidth * LABELWIDTH) / 7.5f, FIELDHEIGHT), "D");

        node.TimeConsumed = t;

        y += FIELDHEIGHT + PADDING;

        return y;
    }