From d5cded8aaad49ab7607752922977d01a4021ff1a Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Sat, 4 May 2024 17:51:27 -0500 Subject: [PATCH 1/2] Skip empty layers for LayerMask Editor --- .../CustomEditors/Dedicated/LayersMaskEditor.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Source/Editor/CustomEditors/Dedicated/LayersMaskEditor.cs b/Source/Editor/CustomEditors/Dedicated/LayersMaskEditor.cs index ff157c74b..b3589e43f 100644 --- a/Source/Editor/CustomEditors/Dedicated/LayersMaskEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/LayersMaskEditor.cs @@ -1,5 +1,6 @@ // Copyright (c) 2012-2024 Wojciech Figat. All rights reserved. +using System.Collections.Generic; using FlaxEditor.Content.Settings; using FlaxEngine; using FlaxEngine.GUI; @@ -12,7 +13,7 @@ namespace FlaxEditor.CustomEditors.Dedicated [CustomEditor(typeof(LayersMask)), DefaultEditor] internal class LayersMaskEditor : CustomEditor { - private CheckBox[] _checkBoxes; + private List _checkBoxes; /// public override void Initialize(LayoutElementsContainer layout) @@ -24,16 +25,18 @@ namespace FlaxEditor.CustomEditors.Dedicated return; } - _checkBoxes = new CheckBox[layers.Length]; + _checkBoxes = new List(); for (int i = 0; i < layers.Length; i++) { var layer = layers[i]; + if (string.IsNullOrEmpty(layer)) + continue; var property = layout.AddPropertyItem(layer); var checkbox = property.Checkbox().CheckBox; UpdateCheckbox(checkbox, i); checkbox.Tag = i; checkbox.StateChanged += OnCheckboxStateChanged; - _checkBoxes[i] = checkbox; + _checkBoxes.Add(checkbox); } } @@ -50,9 +53,9 @@ namespace FlaxEditor.CustomEditors.Dedicated { if (_checkBoxes != null) { - for (int i = 0; i < _checkBoxes.Length; i++) + for (int i = 0; i < _checkBoxes.Count; i++) { - UpdateCheckbox(_checkBoxes[i], i); + UpdateCheckbox(_checkBoxes[i], (int)_checkBoxes[i].Tag); } } From ea2005dacb61062c11dd9547795a9409864579f5 Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Sat, 4 May 2024 18:08:53 -0500 Subject: [PATCH 2/2] Add layer number to LayerMask UI --- Source/Editor/CustomEditors/Dedicated/LayersMaskEditor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Editor/CustomEditors/Dedicated/LayersMaskEditor.cs b/Source/Editor/CustomEditors/Dedicated/LayersMaskEditor.cs index b3589e43f..193e6225b 100644 --- a/Source/Editor/CustomEditors/Dedicated/LayersMaskEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/LayersMaskEditor.cs @@ -31,7 +31,7 @@ namespace FlaxEditor.CustomEditors.Dedicated var layer = layers[i]; if (string.IsNullOrEmpty(layer)) continue; - var property = layout.AddPropertyItem(layer); + var property = layout.AddPropertyItem($"{i}: {layer}"); var checkbox = property.Checkbox().CheckBox; UpdateCheckbox(checkbox, i); checkbox.Tag = i;