using System; using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using ApClient; using ApClient.Archipelago; using ApClient.Archipelago.Mapping; using ApClient.Patches.Functionality; using ApClient.UI; using ApClient.assets; using ApClient.data; using ApClient.mapping; using ApClient.ui; using Archipelago.MultiClient.Net; using Archipelago.MultiClient.Net.BounceFeatures.DeathLink; using Archipelago.MultiClient.Net.Enums; using Archipelago.MultiClient.Net.Helpers; using Archipelago.MultiClient.Net.MessageLog.Messages; using Archipelago.MultiClient.Net.MessageLog.Parts; using Archipelago.MultiClient.Net.Models; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using I2.Loc; using Microsoft.CodeAnalysis; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using TMPro; using UnityEngine; using UnityEngine.AI; using UnityEngine.Events; using UnityEngine.SceneManagement; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("TCG_AP_Client")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.1.0.0")] [assembly: AssemblyInformationalVersion("1.1.0+5087665129d1ecb89bd91118021f44a2322c01ac")] [assembly: AssemblyProduct("TCG AP Client")] [assembly: AssemblyTitle("TCG_AP_Client")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.1.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } public class UIInfoPanel : MonoBehaviour { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static UnityAction <>9__1_0; public static UnityAction <>9__1_1; public static UnityAction <>9__1_2; public static Func <>9__1_3; public static Func <>9__1_4; public static Func <>9__1_5; public static Func <>9__1_6; public static Func <>9__1_7; public static Func <>9__1_8; public static Func <>9__1_9; public static Func <>9__1_10; public static Func <>9__1_11; public static Func <>9__100_0; public static Func <>9__100_1; internal void b__1_0() { Instance.UpdateAchievementList(Instance.cardOpenItems); Instance.currentCardItems = Instance.cardOpenItems; } internal void b__1_1() { Instance.UpdateAchievementList(Instance.cardSellItems); Instance.currentCardItems = Instance.cardSellItems; } internal void b__1_2() { Instance.UpdateAchievementList(Instance.cardGradeItems); Instance.currentCardItems = Instance.cardGradeItems; } internal bool b__1_3(Transform t) { return ((Object)t).name == "AchievementContent"; } internal bool b__1_4(Transform t) { return ((Object)t).name == "ProductContent"; } internal bool b__1_5(Transform t) { return ((Object)t).name == "CollectionGoal"; } internal bool b__1_6(Transform t) { return ((Object)t).name == "LevelGoal"; } internal bool b__1_7(Transform t) { return ((Object)t).name == "GhostGoal"; } internal bool b__1_8(Transform t) { return ((Object)t).name == "Generic Group"; } internal bool b__1_9(Transform t) { return ((Object)t).name == "Formats1"; } internal bool b__1_10(Transform t) { return ((Object)t).name == "Formats2"; } internal bool b__1_11(Transform t) { return ((Object)t).name == "Formats3"; } internal bool b__100_0(CompiledAchievement a) { return a.IsHinted; } internal int b__100_1(CompiledAchievement a) { if (a.completed) { return 2; } if (a.Available) { return 0; } return 1; } } [CompilerGenerated] private sealed class d__89 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public float delay; public bool visable; public UIInfoPanel <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__89(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(delay); <>1__state = 1; return true; case 1: <>1__state = -1; if (!<>4__this.showGUI) { <>4__this.window.SetActive(false); } return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } private static UIInfoPanel Instance; public GameObject window; private bool showGUI = true; public TextMeshProUGUI levelMaxText; public TextMeshProUGUI storedXPText; public TextMeshProUGUI licensesText; public Transform achievementContent; public Transform productContent; public Transform CollectionGoalUI; public Transform LevelGoalUI; public Transform GhostGoalUI; public TextMeshProUGUI percentCollected; public TextMeshProUGUI percentGoal; public TextMeshProUGUI levelGoalText; public TextMeshProUGUI currentGhostsSold; public TextMeshProUGUI ghostGoalText; public GameObject achievementPrefab; public GameObject productPrefab; private Button cardOpenButton; private Button cardSellButton; private Button cardGradeButton; public TextMeshProUGUI basicCount; public TextMeshProUGUI rareCount; public TextMeshProUGUI epicCount; public TextMeshProUGUI legendaryCount; public TextMeshProUGUI destinyBasicCount; public TextMeshProUGUI destinyRareCount; public TextMeshProUGUI destinyEpicCount; public TextMeshProUGUI destinyLegendaryCount; public Transform GenericEventGroup; public Transform Formats1; public Transform Formats2; public Transform Formats3; public Image GenericImage; public Image StandardImage; public Image PauperImage; public Image FireImage; public Image EarthImage; public Image WaterImage; public Image WindImage; public Image FirstEdImage; public Image SilverImage; public Image GoldImage; public Image EXImage; public Image FullArtImage; public Image FoilImage; public TextMeshProUGUI GenericCount; public TextMeshProUGUI StandardCount; public TextMeshProUGUI PauperCount; public TextMeshProUGUI FireCount; public TextMeshProUGUI EarthCount; public TextMeshProUGUI WaterCount; public TextMeshProUGUI WindCount; public TextMeshProUGUI FirstEdCount; public TextMeshProUGUI SilverCount; public TextMeshProUGUI GoldCount; public TextMeshProUGUI EXCount; public TextMeshProUGUI FullArtCount; public TextMeshProUGUI FoilCount; public TextMeshProUGUI GenericTotal; public TextMeshProUGUI StandardTotal; public TextMeshProUGUI PauperTotal; public TextMeshProUGUI FireTotal; public TextMeshProUGUI EarthTotal; public TextMeshProUGUI WaterTotal; public TextMeshProUGUI WindTotal; public TextMeshProUGUI FirstEdTotal; public TextMeshProUGUI SilverTotal; public TextMeshProUGUI GoldTotal; public TextMeshProUGUI EXTotal; public TextMeshProUGUI FullArtTotal; public TextMeshProUGUI FoilTotal; public TextMeshProUGUI basicCountTotal; public TextMeshProUGUI rareCountTotal; public TextMeshProUGUI epicCountTotal; public TextMeshProUGUI legendaryCountTotal; public TextMeshProUGUI destinyBasicCountTotal; public TextMeshProUGUI destinyRareCountTotal; public TextMeshProUGUI destinyEpicCountTotal; public TextMeshProUGUI destinyLegendaryCountTotal; public List cardOpenItems; public List cardSellItems; public List cardGradeItems; public List currentCardItems; private Color formatAvailableColor = new Color(0.164f, 0.164f, 0.55f, 0.4f); public static void setInstance(UIInfoPanel instance, GameObject apinfoobject, GameObject achievementPrefab, GameObject productPrefab, Dictionary> achievements) { //IL_1142: Unknown result type (might be due to invalid IL or missing references) //IL_1147: Unknown result type (might be due to invalid IL or missing references) //IL_114d: Expected O, but got Unknown //IL_1176: Unknown result type (might be due to invalid IL or missing references) //IL_117b: Unknown result type (might be due to invalid IL or missing references) //IL_1181: Expected O, but got Unknown //IL_11aa: Unknown result type (might be due to invalid IL or missing references) //IL_11af: Unknown result type (might be due to invalid IL or missing references) //IL_11b5: Expected O, but got Unknown Instance = instance; Instance.window = apinfoobject; Instance.achievementPrefab = achievementPrefab; Instance.productPrefab = productPrefab; int num = 0; if (Plugin.ArchipelagoHandler.slotData.CardSanity > 0) { switch (Plugin.ArchipelagoHandler.slotData.CardOpeningCheckDifficulty) { case 0: num = 12; break; case 1: num = 1; break; case 2: num = 3; break; case 3: num = 4; break; case 4: num = 6; break; } if (num != 12 && Plugin.ArchipelagoHandler.slotData.CardSanity == 2) { num *= 2; } } else { num = 12; } TextMeshProUGUI[] componentsInChildren = apinfoobject.GetComponentsInChildren(true); foreach (TextMeshProUGUI val in componentsInChildren) { switch (((Object)val).name) { case "MaxLevel": Instance.levelMaxText = val; break; case "StoredXp": Instance.storedXPText = val; break; case "LicensesRequired": Instance.licensesText = val; break; case "PercentCollected": Instance.percentCollected = val; break; case "PercentGoal": Instance.percentGoal = val; break; case "LevelGoalText": Instance.levelGoalText = val; break; case "CurrentGhostsSold": Instance.currentGhostsSold = val; break; case "GhostGoalText": Instance.ghostGoalText = val; break; case "Basic Count": Instance.basicCount = val; Instance.setCardCollectionCount((ECollectionPackType)0); break; case "Rare Count": Instance.rareCount = val; Instance.setCardCollectionCount((ECollectionPackType)1); break; case "Epic Count": Instance.epicCount = val; Instance.setCardCollectionCount((ECollectionPackType)2); break; case "Legendary Count": Instance.legendaryCount = val; Instance.setCardCollectionCount((ECollectionPackType)3); break; case "Destiny Basic Count": Instance.destinyBasicCount = val; Instance.setCardCollectionCount((ECollectionPackType)4); break; case "Destiny Rare Count": Instance.destinyRareCount = val; Instance.setCardCollectionCount((ECollectionPackType)5); break; case "Destiny Epic Count": Instance.destinyEpicCount = val; Instance.setCardCollectionCount((ECollectionPackType)6); break; case "Destiny Legendary Count": Instance.destinyLegendaryCount = val; Instance.setCardCollectionCount((ECollectionPackType)7); break; case "Generic Count": Instance.GenericCount = val; break; case "Standard Count": Instance.StandardCount = val; break; case "Pauper Count": Instance.PauperCount = val; break; case "Fire Count": Instance.FireCount = val; break; case "Earth Count": Instance.EarthCount = val; break; case "Water Count": Instance.WaterCount = val; break; case "Wind Count": Instance.WindCount = val; break; case "1st Ed Count": Instance.FirstEdCount = val; break; case "Silver Count": Instance.SilverCount = val; break; case "Gold Count": Instance.GoldCount = val; break; case "EX Count": Instance.EXCount = val; break; case "Full Art Count": Instance.FullArtCount = val; break; case "Foil Count": Instance.FoilCount = val; break; case "Generic Total": Instance.GenericTotal = val; break; case "Standard Total": Instance.StandardTotal = val; break; case "Pauper Total": Instance.PauperTotal = val; break; case "Fire Total": Instance.FireTotal = val; break; case "Earth Total": Instance.EarthTotal = val; break; case "Water Total": Instance.WaterTotal = val; break; case "Wind Total": Instance.WindTotal = val; break; case "1st Ed Total": Instance.FirstEdTotal = val; break; case "Silver Total": Instance.SilverTotal = val; break; case "Gold Total": Instance.GoldTotal = val; break; case "EX Total": Instance.EXTotal = val; break; case "Full Art Total": Instance.FullArtTotal = val; break; case "Foil Total": Instance.FoilTotal = val; break; case "Basic Total": Instance.basicCountTotal = val; ((TMP_Text)Instance.basicCountTotal).text = $"{27 * num}"; break; case "Rare Total": Instance.rareCountTotal = val; ((TMP_Text)Instance.rareCountTotal).text = $"{34 * num}"; break; case "Epic Total": Instance.epicCountTotal = val; ((TMP_Text)Instance.epicCountTotal).text = $"{34 * num}"; break; case "Legendary Total": Instance.legendaryCountTotal = val; ((TMP_Text)Instance.legendaryCountTotal).text = $"{26 * num}"; break; case "Destiny Basic Total": Instance.destinyBasicCountTotal = val; ((TMP_Text)Instance.destinyBasicCountTotal).text = $"{27 * num}"; break; case "Destiny Rare Total": Instance.destinyRareCountTotal = val; ((TMP_Text)Instance.destinyRareCountTotal).text = $"{34 * num}"; break; case "Destiny Epic Total": Instance.destinyEpicCountTotal = val; ((TMP_Text)Instance.destinyEpicCountTotal).text = $"{34 * num}"; break; case "Destiny Legendary Total": Instance.destinyLegendaryCountTotal = val; ((TMP_Text)Instance.destinyLegendaryCountTotal).text = $"{26 * num}"; break; } } Button[] componentsInChildren2 = apinfoobject.GetComponentsInChildren