public static int[] GetIntegerArray(this KeyValuePairs kvp, string key, int[] _default) { if (kvp.ContainsKey(key)) { var value = kvp.GetString(key); if (value.Length > 0) { var strArray = kvp.GetString(key).Split(','); var intArray = new int[strArray.Length]; for (int i = 0; i < strArray.Length; ++i) { if (!int.TryParse(strArray[i], out intArray[i])) { return(_default); } } return(intArray); } else { return(new int[0]); } } return(_default); }
public static Guid GetGUID(this KeyValuePairs kvp, string key, Guid _default) { if (kvp.ContainsKey(key)) { Guid result; if (Guid.TryParse(kvp.GetString(key), out result)) { return(result); } } return(_default); }
public static Vector3 GetColour(this KeyValuePairs kvp, string key, Vector3 _default) { int colourHex; if (kvp.ContainsKey(key) && int.TryParse(kvp.GetString(key).Replace("#", ""), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out colourHex)) { float r = (float)((colourHex & 0xff0000) >> 16) / 255.0f; float g = (float)((colourHex & 0x00ff00) >> 8) / 255.0f; float b = (float)(colourHex & 0x0000ff) / 255.0f; return(new Vector3(r, g, b)); } else { return(_default); } }
public static Vector3 GetVector(this KeyValuePairs kvp, string key, Vector3 _default) { if (kvp.ContainsKey(key)) { string[] str = kvp.GetString(key).Split(','); if (str.Length >= 3) { float x, y, z; if (float.TryParse(str[0].Trim(), NumberStyles.Float, CultureInfo.InvariantCulture, out x) && float.TryParse(str[1].Trim(), NumberStyles.Float, CultureInfo.InvariantCulture, out y) && float.TryParse(str[2].Trim(), NumberStyles.Float, CultureInfo.InvariantCulture, out z)) { return(new Vector3(x, y, z)); } } } return(_default); }
public static string[] GetStringArray(this KeyValuePairs kvp, string key, string[] _default) { if (kvp.ContainsKey(key)) { var value = kvp.GetString(key); if (value.Length > 0) { var array = kvp.GetString(key).Split(','); for (int i = 0; i < array.Length; ++i) { array[i] = array[i].Trim(); } return(array); } else { return(new string[0]); } } return(_default); }