first commit

This commit is contained in:
2025-07-06 00:23:46 +02:00
commit 38f50c8819
1788 changed files with 112878 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
using System;
using System.Linq;
using NitroxModel.Helper;
using UnityEngine;
using UnityEngine.EventSystems;
namespace NitroxClient.Debuggers.Drawer.UnityUI;
public class EventTriggerDrawer : IDrawer<EventTrigger>
{
private readonly SceneDebugger sceneDebugger;
public EventTriggerDrawer(SceneDebugger sceneDebugger)
{
Validate.NotNull(sceneDebugger);
this.sceneDebugger = sceneDebugger;
}
public void Draw(EventTrigger eventTrigger)
{
foreach (EventTrigger.Entry entry in eventTrigger.triggers.OrderBy(x => x.eventID))
{
using (new GUILayout.VerticalScope("box"))
{
GUILayout.Label($"EventTriggerType.{Enum.GetName(typeof(EventTriggerType), entry.eventID)}");
for (int i = 0; i < entry.callback.GetPersistentEventCount(); i++)
{
using (new GUILayout.HorizontalScope())
{
object target = entry.callback.GetPersistentTarget(i);
switch (target)
{
case Component component:
if (GUILayout.Button($"Jump to {component.name}", GUILayout.Width(NitroxGUILayout.DEFAULT_LABEL_WIDTH)))
{
sceneDebugger.JumpToComponent(component);
}
NitroxGUILayout.Separator();
GUILayout.TextField($"{component.GetType().Name}.{entry.callback.GetPersistentMethodName(i)}()", GUILayout.ExpandWidth(true), GUILayout.MaxWidth(250));
break;
default:
GUILayout.TextField($"[{target.GetType().Name}]: {target}", GUILayout.Width(NitroxGUILayout.DEFAULT_LABEL_WIDTH));
NitroxGUILayout.Separator();
GUILayout.TextField($"{entry.callback.GetPersistentMethodName(i)}()", GUILayout.ExpandWidth(true), GUILayout.MaxWidth(250));
break;
}
}
NitroxGUILayout.Separator();
}
}
NitroxGUILayout.Separator();
}
}
}