// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. using FlaxEditor.Content.Settings; using FlaxEditor.CustomEditors.Elements; using FlaxEditor.GUI; using FlaxEngine; namespace FlaxEditor.CustomEditors.Dedicated { /// /// Custom editor for index. /// internal class TextureGroupEditor : CustomEditor { private ComboBoxElement _element; /// public override DisplayStyle Style => DisplayStyle.Inline; /// public override void Initialize(LayoutElementsContainer layout) { _element = layout.ComboBox(); _element.ComboBox.SelectedIndexChanged += OnSelectedIndexChanged; _element.ComboBox.AddItem("None"); var groups = GameSettings.Load(); if (groups?.TextureGroups != null) { for (int i = 0; i < groups.TextureGroups.Length; i++) { _element.ComboBox.AddItem(groups.TextureGroups[i].Name); } } } private void OnSelectedIndexChanged(ComboBox comboBox) { var value = comboBox.HasSelection ? comboBox.SelectedIndex - 1 : -1; SetValue(value); } /// public override void Refresh() { base.Refresh(); var value = (int)Values[0]; _element.ComboBox.SelectedIndex = value + 1; } } }