DoorwayCleanup is now obselete

Created new scripting system
Added toggle for EventCallbackScenario for DevDebug window
This commit is contained in:
LadyAliceMargatroid 2025-02-07 08:29:24 -08:00
parent 4af194e0f4
commit 25530ebbb3
36 changed files with 2467 additions and 24 deletions

View file

@ -73,10 +73,12 @@
</ItemGroup>
<ItemGroup>
<Compile Include="DunGenExtenderPropertyDrawer.cs" />
<Compile Include="NamedGameObjectReferencePropertyDrawer.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="PropertyDrawerUtility.cs" />
<Compile Include="PropertyOverridePropertyDrawer.cs" />
<Compile Include="ReadOnlyPropertyDrawer.cs" />
<Compile Include="ScriptActionPropertyDrawer.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>

View file

@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEditor;
using UnityEngine.UIElements;
using DunGenPlus;
using DunGenPlus.Collections;
using DunGenPlus.Components.Scripting;
using UnityEditor.UIElements;
namespace DunGenPlusEditor {
[CustomPropertyDrawer(typeof(NamedGameObjectReference))]
public class NamedGameObjectReferencePropertyDrawer : PropertyDrawer {
public override VisualElement CreatePropertyGUI(SerializedProperty property) {
var container = new VisualElement();
container.Add(new PropertyField(property.FindPropertyRelative("name")));
container.Add(new PropertyField(property.FindPropertyRelative("gameObjects")));
container.Add(new PropertyField(property.FindPropertyRelative("overrideState")));
return container;
}
}
}

View file

@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEditor;
using UnityEngine.UIElements;
using DunGenPlus;
using DunGenPlus.Collections;
using DunGenPlus.Components.Scripting;
using UnityEditor.UIElements;
namespace DunGenPlusEditor {
[CustomPropertyDrawer(typeof(ScriptAction))]
public class ScriptActionPropertyDrawer : PropertyDrawer {
public override VisualElement CreatePropertyGUI(SerializedProperty property) {
var container = new VisualElement();
var typeProperty = property.FindPropertyRelative("type");
container.Add(new PropertyField(typeProperty));
switch((ScriptActionType)typeProperty.intValue){
case ScriptActionType.SetNamedReferenceState:
AddPropertyFields(container, property, ("namedReference", "Named Reference"), ("boolValue", "State"));
break;
default:
break;
}
container.Add(new PropertyField(property.FindPropertyRelative("overrideState")));
return container;
}
private void AddPropertyFields(VisualElement container, SerializedProperty property, params (string field, string label)[] pairs){
foreach(var pair in pairs){
container.Add(new PropertyField(property.FindPropertyRelative(pair.field), pair.label));
}
}
}
}