using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Logging;
using BepInEx.NET.Common;
using BepInExResoniteShim;
using Elements.Core;
using FrooxEngine;
using FrooxEngine.Store;
using FrooxEngine.UIX;
using HarmonyLib;
using SkyFrost.Base;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(/*Could not decode attribute arguments.*/)]
[assembly: TargetFramework(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")]
[assembly: AssemblyCompany("art0007i")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.1.0")]
[assembly: AssemblyInformationalVersion("1.0.1+2763951fb3ebeb889333c690e22bd476520c190a")]
[assembly: AssemblyProduct("SessionItemModal")]
[assembly: AssemblyTitle("SessionItemModal")]
[assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/art0007i/SessionItemModal")]
[assembly: AssemblyVersion("1.0.1.0")]
[module: RefSafetyRules(11)]
namespace SessionItemModal;
[ResonitePlugin("art0007i.SessionItemModal", "SessionItemModal", "1.0.1", "art0007i", "https://github.com/art0007i/SessionItemModal")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class Plugin : BasePlugin
{
[HarmonyPatch(typeof(SessionItem), "BuildUI")]
private class SessionItemModalPatch
{
public static void Postfix(UIBuilder ui, SyncRef<Image> ____thumbnail, SessionItem __instance)
{
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Expected O, but got Unknown
((ContainerWorker<Component>)(object)((Component)____thumbnail.Target).Slot).AttachComponent<Button>(true, (Action<Button>)null).LocalPressed += (ButtonEventHandler)delegate(IButton b, ButtonEventData e)
{
//IL_006f: Unknown result type (might be due to invalid IL or missing references)
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
//IL_007c: Unknown result type (might be due to invalid IL or missing references)
//IL_0083: Unknown result type (might be due to invalid IL or missing references)
//IL_0089: Unknown result type (might be due to invalid IL or missing references)
CoroutineManager.Manager.Value = ((IWorldElement)b).World.Coroutines;
string text = __instance.SessionInfo.SessionId;
if (__instance.SessionInfo.CorrespondingWorldId != (RecordId)null)
{
text = ((object)__instance.SessionInfo.CorrespondingWorldId).ToString();
}
SessionInfo[] array = (SessionInfo[])(object)new SessionInfo[1] { __instance.SessionInfo };
Slot slot = ((IComponent)b).Slot;
float2 one = float2.One;
RectTransform obj = ModalOverlayExtensions.OpenModalOverlay(slot, (ref one) * 0.8f, default(LocaleString), false, true);
if (obj != null)
{
((LegacyWorldItem)((ContainerWorker<Component>)(object)((Component)obj).Slot).AttachComponent<LegacyWorldDetail>(true, (Action<LegacyWorldDetail>)null)).SetTarget(text, (Record)null, (global::System.Collections.Generic.IReadOnlyList<SessionInfo>)array, false);
}
};
}
}
internal static ManualLogSource Log;
public override void Load()
{
Log = ((BasePlugin)this).Log;
((BasePlugin)this).HarmonyInstance.PatchAll();
}
}
public static class PluginMetadata
{
public const string GUID = "art0007i.SessionItemModal";
public const string NAME = "SessionItemModal";
public const string VERSION = "1.0.1";
public const string AUTHORS = "art0007i";
public const string REPOSITORY_URL = "https://github.com/art0007i/SessionItemModal";
}