using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Unity.IL2CPP;
using CellMenu;
using FluffyUnderware.DevTools.Extensions;
using HarmonyLib;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Microsoft.CodeAnalysis;
using Player;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("NoMasks")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("NoMasks")]
[assembly: AssemblyTitle("NoMasks")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
internal sealed class NullableAttribute : Attribute
{
public readonly byte[] NullableFlags;
public NullableAttribute(byte P_0)
{
NullableFlags = new byte[1] { P_0 };
}
public NullableAttribute(byte[] P_0)
{
NullableFlags = P_0;
}
}
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
internal sealed class NullableContextAttribute : Attribute
{
public readonly byte Flag;
public NullableContextAttribute(byte P_0)
{
Flag = P_0;
}
}
}
namespace NoMasks
{
[BepInPlugin("com.hirnukuono.NoMasks", "NoMasks", "0.0.1")]
public class Plugin : BasePlugin
{
[HarmonyPatch]
private class rtfpatches
{
[HarmonyPatch(typeof(CM_PlayerLobbyBar), "SpawnPlayerModel")]
[HarmonyPostfix]
private static void GUIPlayer(CM_PlayerLobbyBar __instance)
{
foreach (Transform componentsInChild in ((Component)__instance).GetComponentsInChildren<Transform>())
{
if (((Object)componentsInChild).name.ToLower().Contains("_mask") || ((Object)componentsInChild).name.ToLower().Contains("headgear") || ((Object)componentsInChild).name.ToLower().Contains("point light"))
{
((Component)componentsInChild).gameObject.SetActive(false);
}
}
}
[HarmonyPatch(typeof(ElevatorRide), "StartElevatorRide")]
[HarmonyPostfix]
private static void Player(ElevatorRide __instance)
{
foreach (PlayerAgent item in Object.FindObjectsOfType<PlayerAgent>())
{
foreach (Transform componentsInChild in ((Component)item).GetComponentsInChildren<Transform>())
{
if (((Object)componentsInChild).name.ToLower().Contains("_mask") || ((Object)componentsInChild).name.ToLower().Contains("headgear") || ((Object)componentsInChild).name.ToLower().Contains("point light"))
{
((Component)componentsInChild).gameObject.SetActive(false);
}
}
}
}
[HarmonyPatch(typeof(CM_PlayerLobbyBar), "ShowClothesSelect")]
[HarmonyPostfix]
private static void Menu(CM_PlayerLobbyBar __instance)
{
((CM_Item)((Il2CppArrayBase<CM_ScrollWindowHeader>)(object)__instance.m_popupScrollWindow.m_headers)[0]).SetButtonEnabled(false);
ArrayExt.RemoveAt<CM_ScrollWindowHeader>((Il2CppArrayBase<CM_ScrollWindowHeader>)(object)__instance.m_popupScrollWindow.m_headers, 0);
__instance.UpdateClothesSelectionPoup((ClothesType)1);
foreach (Transform componentsInChild in ((Component)__instance).GetComponentsInChildren<Transform>())
{
if (((Object)componentsInChild).name.ToLower().Contains("_mask") || ((Object)componentsInChild).name.ToLower().Contains("headgear") || ((Object)componentsInChild).name.ToLower().Contains("point light"))
{
((Component)componentsInChild).gameObject.SetActive(false);
}
}
}
[HarmonyPatch(typeof(CM_PlayerLobbyBar), "HidePopup")]
[HarmonyPostfix]
private static void Menu2(CM_PlayerLobbyBar __instance)
{
foreach (Transform componentsInChild in ((Component)__instance).GetComponentsInChildren<Transform>())
{
if (((Object)componentsInChild).name.ToLower().Contains("_mask") || ((Object)componentsInChild).name.ToLower().Contains("headgear") || ((Object)componentsInChild).name.ToLower().Contains("point light"))
{
((Component)componentsInChild).gameObject.SetActive(false);
}
}
}
[HarmonyPatch(typeof(CM_PlayerLobbyBar), "UpdateClothesSelectionPoup")]
[HarmonyPostfix]
private static void Menu3(CM_PlayerLobbyBar __instance)
{
foreach (Transform componentsInChild in ((Component)__instance).GetComponentsInChildren<Transform>())
{
if (((Object)componentsInChild).name.ToLower().Contains("_mask") || ((Object)componentsInChild).name.ToLower().Contains("headgear") || ((Object)componentsInChild).name.ToLower().Contains("point light"))
{
((Component)componentsInChild).gameObject.SetActive(false);
}
}
}
[HarmonyPatch(typeof(PlayerAgent), "Setup")]
[HarmonyPostfix]
private static void InGameJoin(PlayerAgent __instance)
{
foreach (Transform componentsInChild in ((Component)__instance).GetComponentsInChildren<Transform>())
{
if (((Object)componentsInChild).name.ToLower().Contains("_mask") || ((Object)componentsInChild).name.ToLower().Contains("headgear") || ((Object)componentsInChild).name.ToLower().Contains("point light"))
{
((Component)componentsInChild).gameObject.SetActive(false);
}
}
}
}
public override void Load()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
new Harmony("NoMasks").PatchAll();
}
}
[GeneratedCode("VersionInfoGenerator", "2.0.0+git50a4b1a-master")]
[CompilerGenerated]
internal static class VersionInfo
{
public const string RootNamespace = "NoMasks";
public const string Version = "1.0.0";
public const string VersionPrerelease = null;
public const string VersionMetadata = null;
public const string SemVer = "1.0.0";
public const string GitRevShort = null;
public const string GitRevLong = null;
public const string GitBranch = null;
public const string GitTag = null;
public const bool GitIsDirty = false;
}
}