/// <summary> /// 服务端反序列化 /// </summary> /// <param name="parser"></param> /// <param name="value"></param> internal static void DeSerialize(AutoCSer.Json.Parser parser, ref Node value) { if (*parser.Current++ == '[') { int serverNodeId = 0; parser.Parse(ref serverNodeId); if (parser.State == Json.ParseState.Success) { (value = createNodes.Array[serverNodeId]()).deSerialize(parser); } return; } parser.ParseState = Json.ParseState.Custom; }
private unsafe static void deSerialize(AutoCSer.Json.Parser parser, ref ReturnValue value) { if (*parser.Current++ == '[') { if (*parser.Current == ']') { ++parser.Current; return; } int clientNodeId = 0; parser.Parse(ref clientNodeId); if (parser.State == Json.ParseState.Success) { value = createReturnValues.Array[clientNodeId](); value.deSerialize(parser); } return; } parser.ParseState = Json.ParseState.Custom; }
private unsafe void deSerialize(AutoCSer.Json.Parser parser) { if (*parser.Current++ == '[') { parser.Parse(ref ClientNodeId); if (parser.State == Json.ParseState.Success) { if (*parser.Current++ == ',') { Node.DeSerialize(parser, ref Node); if (parser.State != Json.ParseState.Success || *parser.Current++ == ']') { return; } } } else { return; } } parser.ParseState = Json.ParseState.Custom; }