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); }