Added UI for DunGenExtender

Made DevOnly fields readonly
This commit is contained in:
LadyAliceMargatroid 2024-09-10 23:06:32 -07:00
parent 894645d85c
commit 32cebc67d6
12 changed files with 295 additions and 41 deletions

View file

@ -16,40 +16,8 @@ namespace DunGenPlusEditor {
var container = new VisualElement();
var box = new Box();
box.style.paddingBottom = 4f;
box.style.paddingLeft = 4f;
box.style.paddingRight = 4f;
box.style.paddingTop = 4f;
box.style.marginBottom = 8f;
var label = new Label(property.displayName);
var weight = label.style.unityFontStyleAndWeight;
weight.value = UnityEngine.FontStyle.Bold;
label.style.unityFontStyleAndWeight = weight;
box.Add(label);
var overrideProperty = property.FindPropertyRelative("Override");
var valueProperty = property.FindPropertyRelative("Value");
var overrideItem = new PropertyField(overrideProperty);
overrideItem.style.marginLeft = 8f;
var valueItem = new PropertyField(valueProperty);
valueItem.style.marginLeft = 8f;
var valueDefaultItem = new Label("Using DungeonFlow's corresponding values");
valueDefaultItem.style.marginLeft = 11f;
void SetDisplayState(bool state){
valueItem.style.display = state ? DisplayStyle.Flex : DisplayStyle.None;
valueDefaultItem.style.display = !state ? DisplayStyle.Flex : DisplayStyle.None;
}
SetDisplayState(overrideProperty.boolValue);
overrideItem.RegisterValueChangeCallback(evt => SetDisplayState(evt.changedProperty.boolValue));
box.Add(overrideItem);
box.Add(valueItem);
box.Add(valueDefaultItem);
var box = PropertyDrawerUtility.CreateBox(property.displayName);
PropertyDrawerUtility.SetupItemsBoolProperty(box, property, "Override", "Using DungeonFlow's corresponding values");
container.Add(box);
return container;