public static bool Prefix(REEnumBitmaskSet __instance, FieldInfo ___m_TargetField) { try { Type fieldType = ___m_TargetField.FieldType; if (__instance.RequiresUserFlag(fieldType)) { return(true); } int flags = __instance.GetFlags(); var text = Enum.Format(fieldType, flags, "G"); BitMaskPanel.ApplyText(__instance.m_DropDown, text); return(false); } catch (Exception e) { Log.Exception(e); return(true); } }
//private string REEnumBitmaskSet.GetUserFlagName(int flag) public static string GetUserFlagName(this REEnumBitmaskSet instance, int flag) => (string)GetMethod("GetUserFlagName").Invoke(instance, new object[] { flag });
public static void Initialize(this REEnumBitmaskSet instance, object target, FieldInfo targetField, string labelText) => GetMethod("Initialize") .Invoke(instance, new object[] { target, targetField, labelText });
public static bool RequiresUserFlag(this REEnumBitmaskSet instance, Type type) => (bool)GetMethod("RequiresUserFlag").Invoke(instance, new object[] { type });
public static int GetFlags(this REEnumBitmaskSet instance) => (int)GetMethod("GetFlags").Invoke(instance, null);