Decompiled source of LocalSlotNames v1.0.2

plugins/LocalSlotNames.dll

Decompiled 2 weeks ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.NET.Common;
using BepInExResoniteShim;
using FrooxEngine;
using FrooxEngine.UIX;
using HarmonyLib;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(/*Could not decode attribute arguments.*/)]
[assembly: TargetFramework(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")]
[assembly: AssemblyCompany("eia485")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.2.0")]
[assembly: AssemblyInformationalVersion("1.0.2+928356e0ef2385579e8c76401273cbe54f3dd4a2")]
[assembly: AssemblyProduct("LocalSlotNames")]
[assembly: AssemblyTitle("LocalSlotNames")]
[assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/EIA485/NeosLocalSlotNames")]
[assembly: AssemblyVersion("1.0.2.0")]
[module: RefSafetyRules(11)]
namespace LocalSlotNames;

[ResonitePlugin("net.eia485.LocalSlotNames", "LocalSlotNames", "1.0.2", "eia485", "https://github.com/EIA485/NeosLocalSlotNames")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class LocalSlotNames : BasePlugin
{
	[HarmonyPatch(typeof(SlotInspector), "OnChanges")]
	private class LocalSlotNamesPatch
	{
		private static void Postfix(SyncRef<Text> ____slotNameText, SyncRef<Slot> ____rootSlot)
		{
			if (____slotNameText.Target != null && !((SyncElement)____slotNameText.Target.Content).IsLinked && !((SyncElement)____slotNameText.Target.Content).IsDriven)
			{
				ValueCopy<string> obj = ((ContainerWorker<Component>)(object)((Component)____slotNameText.Target).Slot).AttachComponent<ValueCopy<string>>(true, (Action<ValueCopy<string>>)null);
				((SyncRef<IField<string>>)(object)obj.Source).Target = (IField<string>)(object)____rootSlot.Target?.NameField;
				((SyncRef<IField<string>>)(object)obj.Target).Target = (IField<string>)(object)____slotNameText.Target.Content;
			}
		}
	}

	public override void Load()
	{
		((BasePlugin)this).HarmonyInstance.PatchAll();
	}
}
public static class PluginMetadata
{
	public const string GUID = "net.eia485.LocalSlotNames";

	public const string NAME = "LocalSlotNames";

	public const string VERSION = "1.0.2";

	public const string AUTHORS = "eia485";

	public const string REPOSITORY_URL = "https://github.com/EIA485/NeosLocalSlotNames";
}