protected void ReadGameInfoListObject(LitJson.JsonReader reader, object context) { GameInfoListCallbackData data = context as GameInfoListCallbackData; switch (reader.Token) { case LitJson.JsonToken.PropertyName: { string key = reader.Value.ToString(); switch (key) { case "Status": { string val = JsonReadStringPropertyRHS(reader); data.status = (ErrorCode)Enum.Parse(typeof(ErrorCode), val); break; } case "List": { reader.Read(); JsonReadArray(reader, context, this.BeginGameInfoObject, this.ReadGameInfoObject, null); break; } } break; } default: { break; } } }
protected void UnityIosGameInfoListCallback(string message) { LitJson.JsonReader reader = new LitJson.JsonReader(message); GameInfoListCallbackData data = new GameInfoListCallbackData(); JsonReadObject(reader, data, this.ReadGameInfoListObject); GameInfoList gameList = new GameInfoList(); gameList.List = data.games.ToArray(); GameNameListCallback(data.status, gameList); }
protected void ReadGameInfoObject(LitJson.JsonReader reader, object context) { GameInfoListCallbackData data = context as GameInfoListCallbackData; GameInfo info = data.games.Last(); switch (reader.Token) { case LitJson.JsonToken.PropertyName: { string key = reader.Value.ToString(); string val = JsonReadStringPropertyRHS(reader); switch (key) { case "Name": { info.Name = val; break; } case "Id": { info.Id = int.Parse(val); break; } case "Popularity": { info.Popularity = int.Parse(val); break; } } break; } default: { break; } } }
protected void BeginGameInfoObject(object context) { GameInfoListCallbackData data = context as GameInfoListCallbackData; data.games.Add(new GameInfo()); }