public void LoadDetails(JsonTextReader reader) { if (reader == null) { return; } string currValue = ""; while (reader.Read()) { if (reader.Value != null) { if (reader.TokenType == JsonToken.PropertyName) { currValue = (string)reader.Value; } else { switch (currValue) { case "Username": username = (string)reader.Value; break; case "Human": human = (bool)reader.Value; break; default: break; } } } else if (reader.TokenType == JsonToken.StartObject || reader.TokenType == JsonToken.StartArray) { switch (currValue) { case "TeamColor": teamColor = LoadManager.LoadColor(reader); break; case "Resources": CachedResourceManager.LoadResources(reader); break; case "Units": LoadRTSAgents(reader); break; default: break; } } else if (reader.TokenType == JsonToken.EndObject) { return; } } }