public void Load(ConfigNode node) { if (node.HasValue("id")) { this.id = node.GetValue("id"); } if (node.HasValue("title")) { this.title = node.GetValue("title"); } if (node.HasValue("description")) { this.description = node.GetValue("description"); } if (node.HasValue("nodeName")) { this.name = node.GetValue("nodeName"); } if (node.HasValue("cost")) { this.scienceCost = KPUtil.ParseInt(node.GetValue("cost")); } if (node.HasValue("hideEmpty")) { this.hideEmpty = bool.Parse(node.GetValue("hideEmpty")); } if (node.HasValue("anyToUnlock")) { this.anyToUnlock = bool.Parse(node.GetValue("anyToUnlock")); } if (node.HasValue("pos")) { this._pos = KPUtil.ParseVector3(node.GetValue("pos")); } if (node.HasValue("icon")) { this.iconRef = node.GetValue("icon"); } if (node.HasValue("scale")) { this.scale = KPUtil.ParseDouble(node.GetValue("scale")); } }
private static object ReadValue(Type fieldType, string value) { NumberStyles style = NumberStyles.Number | NumberStyles.AllowDecimalPoint; CultureInfo culture = CultureInfo.InvariantCulture; if (fieldType.IsValueType) { if (fieldType == typeof(bool)) { bool flag = false; if (bool.TryParse(value, out flag)) { return(flag); } } else if (fieldType == typeof(byte)) { byte b = 0; if (byte.TryParse(value, style, culture, out b)) { return(b); } } else if (fieldType == typeof(sbyte)) { sbyte b2 = 0; if (sbyte.TryParse(value, style, culture, out b2)) { return(b2); } } else if (fieldType == typeof(char)) { char c = '\0'; if (char.TryParse(value, out c)) { return(c); } } else if (fieldType == typeof(decimal)) { decimal num = 0m; if (decimal.TryParse(value, style, culture, out num)) { return(num); } } else if (fieldType == typeof(double)) { double num2 = 0.0; if (double.TryParse(value, style, culture, out num2)) { return(num2); } } else if (fieldType == typeof(float)) { float num3 = 0f; if (float.TryParse(value, style, culture, out num3)) { return(num3); } } else if (fieldType == typeof(int)) { int num4 = 0; if (int.TryParse(value, style, culture, out num4)) { return(num4); } } else if (fieldType == typeof(uint)) { uint num5 = 0u; if (uint.TryParse(value, style, culture, out num5)) { return(num5); } } else if (fieldType == typeof(long)) { long num6 = 0L; if (long.TryParse(value, style, culture, out num6)) { return(num6); } } else if (fieldType == typeof(ulong)) { ulong num7 = 0uL; if (ulong.TryParse(value, style, culture, out num7)) { return(num7); } } else if (fieldType == typeof(short)) { short num8 = 0; if (short.TryParse(value, style, culture, out num8)) { return(num8); } } else if (fieldType == typeof(ushort)) { ushort num9 = 0; if (ushort.TryParse(value, style, culture, out num9)) { return(num9); } } else if (fieldType == typeof(Vector2)) { return(KPUtil.ParseVector2(value)); } else if (fieldType == typeof(Vector3)) { return(KPUtil.ParseVector3(value)); } else if (fieldType == typeof(Vector4)) { return(KPUtil.ParseVector4(value)); } else if (fieldType == typeof(Quaternion)) { return(KPUtil.ParseQuaternion(value)); } else if (fieldType == typeof(Color)) { return(KPUtil.ParseColor(value)); } else if (fieldType == typeof(Matrix4x4)) { return(KPUtil.ParseMatrix4x4(value)); } else if (fieldType.IsEnum) { return(KPUtil.ParseEnum(fieldType, value)); } } else if (fieldType == typeof(string)) { return(value); } return(null); }