public static void ReadFromJson(this Game.Planet self, JsonTextReader reader) { while (reader.Read()) { if (reader.TokenType == JsonToken.PropertyName) { var name = (string)reader.Value; reader.Read(); switch (name) { case "id": self.id = (int)(Int64)reader.Value; break; case "rocketUsed": if (reader.TokenType == JsonToken.Null) { self.rocketUsed = null; } else { if (self.rocketUsed == null) { self.rocketUsed = new Game.RocketConfig(); } self.rocketUsed.ReadFromJson(reader); } break; case "config": if (reader.TokenType == JsonToken.Null) { self.config = null; } else { if (self.config == null) { self.config = new Game.PlanetConfig(); } self.config.ReadFromJson(reader); } break; case "rotationPhase": self.rotationPhase = (System.Single)(double) reader.Value; break; case "hp": self.hp = (System.Single)(double) reader.Value; break; case "position": self.position = (UnityEngine.Vector2)reader.ReadFromJsonUnityEngine_Vector2(); break; case "currentRocketCooldown": self.currentRocketCooldown = (System.Single)(double) reader.Value; break; } } else if (reader.TokenType == JsonToken.EndObject) { break; } } }