Decompiled source of Mackysoft SerializeReferenceExtensions v2.1.0

plugins/MackySoft.SerializeReferenceExtensions.dll

Decompiled a day ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyVersion("0.0.0.0")]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Interface, AllowMultiple = false, Inherited = false)]
public sealed class AddTypeMenuAttribute : Attribute
{
	private static readonly char[] k_Separeters = new char[1] { '/' };

	public string MenuName { get; }

	public int Order { get; }

	public AddTypeMenuAttribute(string menuName, int order = 0)
	{
		MenuName = menuName;
		Order = order;
	}

	public string[] GetSplittedMenuName()
	{
		if (string.IsNullOrWhiteSpace(MenuName))
		{
			return Array.Empty<string>();
		}
		return MenuName.Split(k_Separeters, StringSplitOptions.RemoveEmptyEntries);
	}

	public string GetTypeNameWithoutPath()
	{
		string[] splittedMenuName = GetSplittedMenuName();
		if (splittedMenuName.Length == 0)
		{
			return null;
		}
		return splittedMenuName[^1];
	}
}
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Interface, AllowMultiple = false, Inherited = false)]
public sealed class HideInTypeMenuAttribute : Attribute
{
}
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
public sealed class SubclassSelectorAttribute : PropertyAttribute
{
	public bool UseToStringAsLabel { get; set; }
}