 UIElement@ CreateIntAttributeEditor(ListView@ list, Array<Serializable@>@ serializables, const AttributeInfo&in info, uint index, uint subIndex)
 {
     UIElement@ parent = CreateAttributeEditorParent(list, info.name, index, subIndex);
+
+    // Check for masks
+    if (info.name.Contains("Mask", false))
+    {
+        UIElement@ attrEdit = CreateAttributeBitSelector(parent, serializables, index, subIndex);
+    }
     // Check for enums
-    if (info.enumNames is null || info.enumNames.empty)
+    else if (info.enumNames is null || info.enumNames.empty)
     {
         // No enums, create a numeric editor
         LineEdit@ attrEdit = CreateAttributeLineEdit(parent, serializables, index, subIndex);


bool inLoadAttributeEditor = false;
bool inEditAttribute = false;
bool showNonEditableAttribute = false;

Color normalTextColor(1.0f, 1.0f, 1.0f);

        SetEditable(SetValue(parent.children[1], value.GetBool(), sameValue), editable && sameValue);
    else if (type == VAR_INT)
    {
        if (info.name.Contains("Mask", false))
            SetEditable(SetValue(parent.GetChild("LineEdit", true), value.ToString(), sameValue), editable && sameValue);
        else if (info.enumNames is null || info.enumNames.empty)
            SetEditable(SetValue(parent.children[1], value.ToString(), sameValue), editable && sameValue);
        else
            SetEditable(SetValue(parent.children[1], value.GetInt(), sameValue), editable && sameValue);
