using System; using LavishScriptAPI; using LavishScriptAPI.Interfaces; namespace MRBot.IsxEq2.Extensions { internal static class LavishScriptObjectExtensions { public static string GetString(this ILSObject obj, string member) { using (var lavishScriptObject = obj.GetMember(member)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? null : lavishScriptObject.GetValue(); } } public static string GetString(this ILSObject obj, string member, params string[] args) { using (var lavishScriptObject = obj.GetMember(member, args)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? null : lavishScriptObject.GetValue(); } } public static Int64 GetInt64(this ILSObject obj, string member) { using (var lavishScriptObject = obj.GetMember(member)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? -1 : lavishScriptObject.GetValue(); } } public static UInt64 GetUInt64(this ILSObject obj, string member) { using (var lavishScriptObject = obj.GetMember(member)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? 0 : lavishScriptObject.GetValue(); } } public static Int64 GetInt64(this ILSObject obj, string member, params string[] args) { using (var lavishScriptObject = obj.GetMember(member, args)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? -1 : lavishScriptObject.GetValue(); } } public static float GetFloat(this ILSObject obj, string member) { using (var lavishScriptObject = obj.GetMember(member)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? -1 : lavishScriptObject.GetValue(); } } public static float GetFloat(this ILSObject obj, string member, params string[] args) { using (var lavishScriptObject = obj.GetMember(member, args)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? -1 : lavishScriptObject.GetValue(); } } public static double GetDouble(this ILSObject obj, string member) { using (var lavishScriptObject = obj.GetMember(member)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? -1 : lavishScriptObject.GetValue(); } } public static double GetDouble(this ILSObject obj, string member, params string[] args) { using (var lavishScriptObject = obj.GetMember(member, args)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? -1 : lavishScriptObject.GetValue(); } } public static int GetInt(this ILSObject obj, string member) { using (var lavishScriptObject = obj.GetMember(member)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? -1 : lavishScriptObject.GetValue(); } } public static int GetInt(this ILSObject obj, string member, params string[] args) { using (var lavishScriptObject = obj.GetMember(member, args)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? -1 : lavishScriptObject.GetValue(); } } public static bool GetBool(this ILSObject obj, string member) { using (var lavishScriptObject = obj.GetMember(member)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? false : lavishScriptObject.GetValue(); } } public static bool GetBool(this ILSObject obj, string member, params string[] args) { using (var lavishScriptObject = obj.GetMember(member, args)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? false : lavishScriptObject.GetValue(); } } public static Int64? GetNullableInt64(this ILSObject obj, string member) { using (var lavishScriptObject = obj.GetMember(member)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? null : (Int64?)lavishScriptObject.GetValue(); } } public static Int64? GetNullableInt64(this ILSObject obj, string member, params string[] args) { using (var lavishScriptObject = obj.GetMember(member, args)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? null : (Int64?)lavishScriptObject.GetValue(); } } public static float? GetNullableFloat(this ILSObject obj, string member) { using (var lavishScriptObject = obj.GetMember(member)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? null : (float?)lavishScriptObject.GetValue(); } } public static float? GetNullableFloat(this ILSObject obj, string member, params string[] args) { using (var lavishScriptObject = obj.GetMember(member, args)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? null : (float?)lavishScriptObject.GetValue(); } } public static double? GetNullableDouble(this ILSObject obj, string member) { using (var lavishScriptObject = obj.GetMember(member)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? null : (double?)lavishScriptObject.GetValue(); } } public static double? GetNullableDouble(this ILSObject obj, string member, params string[] args) { using (var lavishScriptObject = obj.GetMember(member, args)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? null : (double?)lavishScriptObject.GetValue(); } } public static int? GetNullableInt(this ILSObject obj, string member) { using (var lavishScriptObject = obj.GetMember(member)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? null : (int?)lavishScriptObject.GetValue(); } } public static int? GetNullableInt(this ILSObject obj, string member, params string[] args) { using (var lavishScriptObject = obj.GetMember(member, args)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? null : (int?)lavishScriptObject.GetValue(); } } public static bool? GetNullableBool(this ILSObject obj, string member) { using (var lavishScriptObject = obj.GetMember(member)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? null : (bool?)lavishScriptObject.GetValue(); } } public static bool? GetNullableBool(this ILSObject obj, string member, params string[] args) { using (var lavishScriptObject = obj.GetMember(member, args)) { return LavishScriptObject.IsNullOrInvalid(lavishScriptObject) ? null : (bool?)lavishScriptObject.GetValue(); } } } }