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,107 @@
using NitroxModel.Helper;
using UnityEngine;
namespace NitroxClient.Debuggers.Drawer.Unity;
public class TransformDrawer : IDrawer<Transform>
{
private readonly SceneDebugger sceneDebugger;
private readonly VectorDrawer vectorDrawer;
private const float LABEL_WIDTH = 100;
private const float VECTOR_MAX_WIDTH = 405;
private bool showGlobal;
public TransformDrawer(SceneDebugger sceneDebugger, VectorDrawer vectorDrawer)
{
Validate.NotNull(sceneDebugger);
Validate.NotNull(vectorDrawer);
this.sceneDebugger = sceneDebugger;
this.vectorDrawer = vectorDrawer;
}
public void Draw(Transform transform)
{
using (new GUILayout.VerticalScope())
{
if (showGlobal)
{
using (new GUILayout.HorizontalScope())
{
GUILayout.Label("Global Position", NitroxGUILayout.DrawerLabel, GUILayout.Width(LABEL_WIDTH));
NitroxGUILayout.Separator();
vectorDrawer.Draw(transform.position, new VectorDrawer.DrawOptions(VECTOR_MAX_WIDTH));
}
using (new GUILayout.HorizontalScope())
{
GUILayout.Label("Global Rotation", NitroxGUILayout.DrawerLabel, GUILayout.Width(LABEL_WIDTH));
NitroxGUILayout.Separator();
vectorDrawer.Draw(transform.rotation.eulerAngles, new VectorDrawer.DrawOptions(VECTOR_MAX_WIDTH));
}
using (new GUILayout.HorizontalScope())
{
GUILayout.Label("Lossy Scale", NitroxGUILayout.DrawerLabel, GUILayout.Width(LABEL_WIDTH));
NitroxGUILayout.Separator();
vectorDrawer.Draw(transform.lossyScale, new VectorDrawer.DrawOptions(VECTOR_MAX_WIDTH));
}
}
else
{
using (new GUILayout.HorizontalScope())
{
GUILayout.Label("Local Position", NitroxGUILayout.DrawerLabel, GUILayout.Width(LABEL_WIDTH));
NitroxGUILayout.Separator();
transform.localPosition = vectorDrawer.Draw(transform.localPosition, new VectorDrawer.DrawOptions(VECTOR_MAX_WIDTH));
}
using (new GUILayout.HorizontalScope())
{
GUILayout.Label("Local Rotation", NitroxGUILayout.DrawerLabel, GUILayout.Width(LABEL_WIDTH));
NitroxGUILayout.Separator();
transform.localRotation = Quaternion.Euler(vectorDrawer.Draw(transform.localRotation.eulerAngles, new VectorDrawer.DrawOptions(VECTOR_MAX_WIDTH)));
}
using (new GUILayout.HorizontalScope())
{
GUILayout.Label("Local Scale", NitroxGUILayout.DrawerLabel, GUILayout.Width(LABEL_WIDTH));
NitroxGUILayout.Separator();
transform.localScale = vectorDrawer.Draw(transform.localScale, new VectorDrawer.DrawOptions(VECTOR_MAX_WIDTH));
}
}
GUILayout.Space(5);
using (new GUILayout.HorizontalScope())
{
if (GUILayout.Button("Toggle Local/Global", GUILayout.MaxWidth(125)))
{
showGlobal = !showGlobal;
}
if (GUILayout.Button("Destroy GameObject", GUILayout.MaxWidth(150)))
{
if (transform)
{
if (transform.parent)
{
sceneDebugger.JumpToComponent(transform.parent);
}
UnityEngine.Object.Destroy(transform.gameObject);
}
}
if (GUILayout.Button("Goto", GUILayout.MaxWidth(75)) && Player.main)
{
SubRoot subRoot = transform.GetComponentInParent<SubRoot>(true);
Player.main.SetCurrentSub(subRoot, true);
Player.main.SetPosition(transform.position);
}
if (GUILayout.Button($"Set {(transform.gameObject.activeSelf ? "inactive" : "active")}", GUILayout.MaxWidth(125)))
{
transform.gameObject.SetActive(!transform.gameObject.activeSelf);
}
}
}
}
}