private static ScriptGraphNode CreateNode(ScriptNodeData data)
        {
            ScriptGraphNode node;
            ByteArrayStream stream = new ByteArrayStream(data.serialData);

            switch (data.type)
            {
            case NodeType.Root:
            {
                node = new RootNode();
            }
            break;

            case NodeType.Message:
            {
                node = new MessageNode();
                var temp = node as MessageNode;
                temp.text = stream.ReadString();
            }
            break;

            case NodeType.Branch:
            {
                node = new BranchNode();
                var temp = node as BranchNode;
                temp.flag = stream.ReadBool();
            }
            break;

            case NodeType.None:
            default:
                node = null;
                break;
            }

            SetCommonData(node, data);

            return(node);
        }