using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Text; using System.Text.RegularExpressions; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using Microsoft.CodeAnalysis; using TMPro; using UnityEngine; 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(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyCompany("ValuableTracker")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+7465be75949cc43be2e671cb148d287f95b5ce03")] [assembly: AssemblyProduct("ValuableTracker")] [assembly: AssemblyTitle("ValuableTracker")] [assembly: AssemblyVersion("1.0.0.0")] [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; } } } namespace ValuableTracker { [BepInPlugin("ValuableTracker", "Valuable Tracker", "1.0.9")] public class ValuableTracker : BaseUnityPlugin { public class ItemState { public ValuableObject itemRef; public bool markedAsSold; public bool isLost; public bool isExtracted; } public static ValuableTracker Instance; private static bool _hintShownInSession = false; public static List TrackedItems = new List(); public static int TotalItemsRecorded = 0; private void Awake() { Instance = this; PluginConfig.Init(((BaseUnityPlugin)this).Config); Harmony.CreateAndPatchAll(typeof(ValuableTracker), (string)null); SceneManager.activeSceneChanged += OnSceneChanged; } private void OnSceneChanged(Scene oldScene, Scene newScene) { if ((Object)(object)RunManager.instance == (Object)null || !SemiFunc.RunIsLevel()) { _hintShownInSession = false; } } public static void RegisterItem(ValuableObject val) { if (!((Object)(object)val == (Object)null) && !TrackedItems.Any((ItemState x) => (Object)(object)x.itemRef == (Object)(object)val)) { TrackedItems.Add(new ItemState { itemRef = val }); TotalItemsRecorded++; } } [HarmonyPatch(typeof(LevelGenerator), "GenerateDone")] [HarmonyPostfix] private static void OnLevelGenDone() { TrackedItems.Clear(); TotalItemsRecorded = 0; ValuableObject[] array = Object.FindObjectsOfType(); foreach (ValuableObject val in array) { RegisterItem(val); } } [HarmonyPatch(typeof(GameDirector), "Update")] [HarmonyPostfix] private static void GameDirectorUpdate_Patch() { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Invalid comparison between Unknown and I4 //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) if (!_hintShownInSession && SemiFunc.RunIsLevel() && (int)GameDirector.instance.currentState == 2) { _hintShownInSession = true; string friendlyName = GetFriendlyName(PluginConfig.MenuKeybind.Value); SemiFunc.UIFocusText("Press " + friendlyName + " to view Valuable Tracker Settings", Color.white, new Color(1f, 0.46f, 0f, 1f), 5f); } ValuableTrackerHUD.UpdateTick(); } [HarmonyPatch(typeof(ValuableObject), "Start")] [HarmonyPostfix] private static void OnValuableStart(ValuableObject __instance) { if (SemiFunc.LevelGenDone()) { RegisterItem(__instance); } } [HarmonyPatch(typeof(RoundDirector), "HaulCheck")] [HarmonyPostfix] private static void OnHaulCheck() { List dollarHaulList = RoundDirector.instance.dollarHaulList; foreach (ItemState trackedItem in TrackedItems) { if ((Object)(object)trackedItem.itemRef != (Object)null && dollarHaulList.Contains(((Component)trackedItem.itemRef).gameObject)) { trackedItem.markedAsSold = true; } } } [HarmonyPatch(typeof(RunManager), "ChangeLevel")] [HarmonyPostfix] private static void OnChangeLevel() { ValuableTrackerHUD.Cleanup(); } public static string GetFriendlyName(KeyCode k) { string text = ((object)(KeyCode)(ref k)).ToString(); if (text.StartsWith("Alpha")) { return text.Replace("Alpha", ""); } if (text.StartsWith("Keypad")) { return text.Replace("Keypad", "Numpad "); } if (text == "Return") { return "Enter"; } if (text == "Escape") { return "Esc"; } if (text.Contains("Mouse0")) { return "Mouse Left"; } if (text.Contains("Mouse1")) { return "Mouse Right"; } if (text.Contains("Mouse2")) { return "Mouse Mid"; } return Regex.Replace(text, "(\\B[A-Z])", " $1"); } } public static class PluginConfig { public enum Positions { Default, TopLeft, BottomRight, Custom } public static ConfigEntry UIPosition; public static ConfigEntry CustomPositionCoords; public static ConfigEntry ShowHUD; public static ConfigEntry ShowCartCount; public static ConfigEntry ShowLostCount; public static ConfigEntry MenuKeybind; public static void Init(ConfigFile config) { //IL_0086: Unknown result type (might be due to invalid IL or missing references) MenuKeybind = config.Bind("Controls", "Menu Keybind", (KeyCode)285, "Key to open settings."); ShowHUD = config.Bind("Features", "Enable HUD", true, "Show the tracker."); ShowCartCount = config.Bind("Features", "Track Cart Items", true, "Count items in carts."); UIPosition = config.Bind("UI Layout", "Position Preset", Positions.Default, "Tracker position."); CustomPositionCoords = config.Bind("UI Layout", "Custom Coords", new Vector2(0f, 0f), "Offset for custom position."); ShowLostCount = config.Bind("Features", "Track Lost Items", true, "Show items lost or destroyed."); } } public static class ValuableTrackerHUD { private class ResetHandler : MonoBehaviour { private TextMeshProUGUI text; private RectTransform rect; private bool isHovering; private Vector2 originalPos; public void Setup(TextMeshProUGUI t, RectTransform r) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) text = t; rect = r; originalPos = ((TMP_Text)text).rectTransform.anchoredPosition; } private void Update() { //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) if (!isMenuOpen) { return; } bool flag = IsMouseOver(rect); if (flag && !isHovering && (Object)(object)MenuManager.instance != (Object)null) { MenuManager.instance.MenuEffectHover(1f, -1f); } isHovering = flag; ((Graphic)text).color = (flag ? Color.white : Color.gray); ((TMP_Text)text).rectTransform.anchoredPosition = (Vector2)(flag ? new Vector2(originalPos.x + 2f, originalPos.y) : originalPos); if (flag && Input.GetMouseButtonDown(0)) { PluginConfig.ShowHUD.Value = true; PluginConfig.ShowCartCount.Value = true; PluginConfig.ShowLostCount.Value = true; PluginConfig.MenuKeybind.Value = (KeyCode)285; UpdateFooterText(); if ((Object)(object)MenuManager.instance != (Object)null) { MenuManager.instance.MenuEffectClick((MenuClickEffectType)1, (MenuPage)null, -1f, -1f, true); } } } private bool IsMouseOver(RectTransform target) { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)target == (Object)null || (Object)(object)MenuCursor.instance == (Object)null) { return false; } Vector3 val = ((Transform)target).InverseTransformPoint(((Component)MenuCursor.instance).transform.position); Rect val2 = target.rect; return ((Rect)(ref val2)).Contains(val); } } private class KeybindHandler : MonoBehaviour { public static bool IsRebinding; private Image border; private Image btnBg; private TextMeshProUGUI keyText; private RectTransform btnRect; private bool listening; private bool isHovering; private float invalidTimer = 0f; private Vector2 originalTextPos; public void Setup(Image b, Image bg, TextMeshProUGUI t, RectTransform rect) { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) border = b; btnBg = bg; keyText = t; btnRect = rect; originalTextPos = ((TMP_Text)keyText).rectTransform.anchoredPosition; } private void OnDisable() { listening = false; IsRebinding = false; invalidTimer = 0f; } private void Update() { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_030e: Unknown result type (might be due to invalid IL or missing references) //IL_0307: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Invalid comparison between Unknown and I4 //IL_034b: Unknown result type (might be due to invalid IL or missing references) //IL_0328: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Invalid comparison between Unknown and I4 //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Invalid comparison between Unknown and I4 //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Invalid comparison between Unknown and I4 //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_037c: Unknown result type (might be due to invalid IL or missing references) //IL_039e: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_027b: Unknown result type (might be due to invalid IL or missing references) //IL_0400: Unknown result type (might be due to invalid IL or missing references) //IL_0416: Unknown result type (might be due to invalid IL or missing references) //IL_0431: Unknown result type (might be due to invalid IL or missing references) if (!isMenuOpen) { if (listening) { listening = false; IsRebinding = false; ((TMP_Text)keyText).text = ValuableTracker.GetFriendlyName(PluginConfig.MenuKeybind.Value); ((Graphic)btnBg).color = repoBlueActive; } return; } if (invalidTimer > 0f) { invalidTimer -= Time.deltaTime; if (!(invalidTimer <= 0f)) { return; } listening = true; ((TMP_Text)keyText).text = "[PRESS KEY]"; ((Graphic)keyText).color = repoYellow; ((Graphic)btnBg).color = repoOrange; } if (listening) { if (!Input.anyKeyDown) { return; } { foreach (KeyCode value in Enum.GetValues(typeof(KeyCode))) { if (!Input.GetKeyDown(value)) { continue; } if ((int)value == 323 || (int)value == 324 || (int)value == 325) { ((TMP_Text)keyText).text = "INVALID INPUT"; ((Graphic)keyText).color = Color.red; invalidTimer = 1.2f; if ((Object)(object)MenuManager.instance != (Object)null) { MenuManager.instance.MenuEffectClick((MenuClickEffectType)2, (MenuPage)null, -1f, -1f, true); } break; } if ((int)value == 27) { ((TMP_Text)keyText).text = "INVALID INPUT"; ((Graphic)keyText).color = Color.red; invalidTimer = 1.2f; if ((Object)(object)MenuManager.instance != (Object)null) { MenuManager.instance.MenuEffectClick((MenuClickEffectType)2, (MenuPage)null, -1f, -1f, true); } break; } PluginConfig.MenuKeybind.Value = value; listening = false; IsRebinding = false; UpdateFooterText(); if ((Object)(object)MenuManager.instance != (Object)null) { MenuManager.instance.MenuEffectClick((MenuClickEffectType)1, (MenuPage)null, -1f, -1f, true); } ((TMP_Text)keyText).text = ValuableTracker.GetFriendlyName(value); ((Graphic)btnBg).color = repoBlueActive; break; } return; } } bool flag = IsMouseOver(btnRect); if (flag && !isHovering && (Object)(object)MenuManager.instance != (Object)null) { MenuManager.instance.MenuEffectHover(1f, -1f); } isHovering = flag; ((Graphic)border).color = (flag ? Color.white : repoBlueBorder); ((TMP_Text)keyText).rectTransform.anchoredPosition = (Vector2)(flag ? new Vector2(originalTextPos.x + 2f, originalTextPos.y) : originalTextPos); if (flag && Input.GetMouseButtonDown(0)) { listening = true; IsRebinding = true; ((Graphic)btnBg).color = repoOrange; ((TMP_Text)keyText).text = "[PRESS KEY]"; ((Graphic)keyText).color = repoYellow; if ((Object)(object)MenuManager.instance != (Object)null) { MenuManager.instance.MenuEffectClick((MenuClickEffectType)0, (MenuPage)null, -1f, -1f, true); } } if (!listening && invalidTimer <= 0f) { ((TMP_Text)keyText).text = ValuableTracker.GetFriendlyName(PluginConfig.MenuKeybind.Value); ((Graphic)keyText).color = Color.white; if (!flag) { ((Graphic)btnBg).color = repoBlueActive; } } } private bool IsMouseOver(RectTransform target) { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)target == (Object)null || (Object)(object)MenuCursor.instance == (Object)null) { return false; } Vector3 val = ((Transform)target).InverseTransformPoint(((Component)MenuCursor.instance).transform.position); Rect rect = target.rect; return ((Rect)(ref rect)).Contains(val); } } private class RepoRowHandler : MonoBehaviour { private Image border; private Image onHover; private Image offHover; private RectTransform activeGroup; private RectTransform glow; private RectTransform onRect; private RectTransform offRect; private TextMeshProUGUI onText; private TextMeshProUGUI offText; private Func getter; private Action setter; private bool isHoveringAny; private bool isClickAnimActive; private float flickerTimer; private float popScale = 0f; public void Setup(Image brd, RectTransform h, RectTransform g, TextMeshProUGUI on, TextMeshProUGUI off, Func get, Action set, Image hOn, Image hOff) { border = brd; activeGroup = h; glow = g; onText = on; offText = off; getter = get; setter = set; onHover = hOn; offHover = hOff; } public void SetOnTarget(RectTransform r) { onRect = r; } public void SetOffTarget(RectTransform r) { offRect = r; } private void Update() { //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_0299: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021a: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_0356: Unknown result type (might be due to invalid IL or missing references) //IL_0367: Unknown result type (might be due to invalid IL or missing references) //IL_02d5: Unknown result type (might be due to invalid IL or missing references) //IL_02e5: Unknown result type (might be due to invalid IL or missing references) //IL_0326: Unknown result type (might be due to invalid IL or missing references) //IL_031f: Unknown result type (might be due to invalid IL or missing references) //IL_0341: Unknown result type (might be due to invalid IL or missing references) //IL_033a: Unknown result type (might be due to invalid IL or missing references) if (!isMenuOpen) { return; } bool flag = getter(); bool flag2 = IsMouseOver(onRect); bool flag3 = IsMouseOver(offRect); if (Object.op_Implicit((Object)(object)onHover)) { ((Behaviour)onHover).enabled = flag2 && !flag; } if (Object.op_Implicit((Object)(object)offHover)) { ((Behaviour)offHover).enabled = flag3 && flag; } bool flag4 = flag2 || flag3; if (flag4) { if (!isHoveringAny && (Object)(object)MenuManager.instance != (Object)null) { MenuManager.instance.MenuEffectHover(1f, -1f); } if (Input.GetMouseButtonDown(0)) { bool flag5 = flag2 || (!flag3 && flag); if (flag5 != flag) { setter(flag5); flickerTimer = 0.25f; isClickAnimActive = true; popScale = 0f; if ((Object)(object)MenuManager.instance != (Object)null) { MenuManager.instance.MenuEffectClick((MenuClickEffectType)4, (MenuPage)null, -1f, -1f, true); } } } } isHoveringAny = flag4; ((Graphic)border).color = Color.Lerp(((Graphic)border).color, isHoveringAny ? Color.white : repoBlueBorder, Time.deltaTime * 10f); Vector2 val = (flag ? new Vector2(-30f, 0f) : new Vector2(30f, 0f)); activeGroup.anchoredPosition = Vector2.Lerp(activeGroup.anchoredPosition, val, Time.deltaTime * 25f); if (isClickAnimActive) { ((Transform)glow).localScale = Vector3.Lerp(((Transform)glow).localScale, Vector3.zero, Time.deltaTime * 40f); if (Vector2.Distance(activeGroup.anchoredPosition, val) < 1f) { popScale = Mathf.MoveTowards(popScale, 1.4f, Time.deltaTime * 12f); ((Transform)glow).localScale = Vector3.one * popScale; if (popScale >= 1.4f) { isClickAnimActive = false; } } } else { ((Transform)glow).localScale = Vector3.Lerp(((Transform)glow).localScale, new Vector3(((flag && flag2) || (!flag && flag3)) ? 1.15f : 1f, ((flag && flag2) || (!flag && flag3)) ? 1.15f : 1f, 1f), Time.deltaTime * 15f); } if (flickerTimer > 0f) { flickerTimer -= Time.deltaTime; ((Graphic)onText).color = (flag ? repoOrange : Color.white); ((Graphic)offText).color = ((!flag) ? repoOrange : Color.white); } else { ((Graphic)onText).color = Color.white; ((Graphic)offText).color = Color.white; } } private bool IsMouseOver(RectTransform target) { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)target == (Object)null || (Object)(object)MenuCursor.instance == (Object)null) { return false; } Vector3 val = ((Transform)target).InverseTransformPoint(((Component)MenuCursor.instance).transform.position); Rect rect = target.rect; return ((Rect)(ref rect)).Contains(val); } } private class RepoButton : MonoBehaviour { public bool targetValue; } private static GameObject UIObject; private static TextMeshProUGUI UIText; private static GameObject SettingsPanel; private static MenuPage SettingsMenuPage; private static GameObject DimmerPanel; private static GameObject WindowContainer; private static CanvasGroup SettingsCanvasGroup; private static TextMeshProUGUI FooterHintText; public static bool isMenuOpen = false; private static float introLerp = 0f; private static Color repoBlueActive = new Color(0.067f, 0.298f, 0.725f, 1f); private static Color repoBlueBorder = new Color(0f, 0.5f, 1f, 1f); private static Color repoOrange = new Color(1f, 0.46f, 0f, 1f); private static Color repoYellow = new Color(1f, 0.8f, 0f, 1f); private static Color repoHover = new Color(0f, 0.5f, 1f, 0.3f); private static TMP_FontAsset nativeFont; private static FieldInfo inputDisableTimerField = typeof(PlayerController).GetField("InputDisableTimer", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); private static FieldInfo itemsInCartListField = AccessTools.Field(typeof(PhysGrabCart), "itemsInCart"); private static FieldInfo menuManagerStateField = AccessTools.Field(typeof(MenuManager), "currentMenuState"); private static float _updateTimer = 0f; private const float UPDATE_INTERVAL = 0.25f; public static void Cleanup() { if ((Object)(object)SettingsMenuPage != (Object)null && (Object)(object)MenuManager.instance != (Object)null) { MenuManager.instance.PageRemove(SettingsMenuPage); } if ((Object)(object)SettingsPanel != (Object)null) { Object.Destroy((Object)(object)SettingsPanel); } if ((Object)(object)UIObject != (Object)null) { Object.Destroy((Object)(object)UIObject); } SettingsPanel = null; SettingsMenuPage = null; DimmerPanel = null; WindowContainer = null; UIObject = null; SettingsCanvasGroup = null; UIText = null; FooterHintText = null; isMenuOpen = false; introLerp = 0f; KeybindHandler.IsRebinding = false; } public static void UpdateTick() { //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0257: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Unknown result type (might be due to invalid IL or missing references) //IL_0274: Unknown result type (might be due to invalid IL or missing references) int num = 1; if ((Object)(object)MenuManager.instance != (Object)null && menuManagerStateField != null) { num = (int)menuManagerStateField.GetValue(MenuManager.instance); } if (isMenuOpen && num == 0) { isMenuOpen = false; if ((Object)(object)MenuManager.instance != (Object)null) { MenuManager.instance.MenuEffectPopUpClose(); } return; } if (!KeybindHandler.IsRebinding && Input.GetKeyDown(PluginConfig.MenuKeybind.Value) && (isMenuOpen || num != 0)) { isMenuOpen = !isMenuOpen; if (isMenuOpen && (Object)(object)SettingsPanel != (Object)null) { SettingsPanel.transform.SetAsLastSibling(); UpdateFooterText(); } if ((Object)(object)MenuManager.instance != (Object)null) { if (isMenuOpen) { MenuManager.instance.MenuEffectPopUpOpen(); } else { MenuManager.instance.MenuEffectPopUpClose(); } MenuManager.instance.StateSet((MenuState)((!isMenuOpen) ? 1 : 0)); } } if (isMenuOpen) { if ((Object)(object)CursorManager.instance != (Object)null) { CursorManager.instance.Unlock(0.1f); } if ((Object)(object)PlayerController.instance != (Object)null && inputDisableTimerField != null) { inputDisableTimerField.SetValue(PlayerController.instance, 0.1f); } SemiFunc.UIHideAim(); SemiFunc.UIHideInventory(); SemiFunc.UIHideHaul(); SemiFunc.UIHideHealth(); SemiFunc.UIHideEnergy(); SemiFunc.CameraOverrideStopAim(); } if ((Object)(object)SettingsPanel == (Object)null) { CreateSettingsMenu(); } if ((Object)(object)SettingsPanel != (Object)null && (Object)(object)WindowContainer != (Object)null) { introLerp = Mathf.MoveTowards(introLerp, isMenuOpen ? 1f : 0f, Time.deltaTime * 5f); Vector2 val = (isMenuOpen ? new Vector2(0f, 50f) : new Vector2(0f, -50f)); WindowContainer.GetComponent().anchoredPosition = Vector2.Lerp(val, Vector2.zero, introLerp); if ((Object)(object)SettingsCanvasGroup != (Object)null) { SettingsCanvasGroup.alpha = introLerp; } bool flag = isMenuOpen || introLerp > 0f; if (SettingsPanel.activeSelf != flag) { SettingsPanel.SetActive(flag); } } if (SemiFunc.RunIsLevel()) { if ((Object)(object)UIObject == (Object)null) { CreateHUD(); } if (!((Object)(object)UIObject != (Object)null)) { return; } bool active = PluginConfig.ShowHUD.Value || PluginConfig.ShowCartCount.Value || PluginConfig.ShowLostCount.Value; UIObject.SetActive(active); if (UIObject.activeSelf) { _updateTimer += Time.deltaTime; if (_updateTimer >= 0.25f) { _updateTimer = 0f; UpdateDisplay(); } } } else if ((Object)(object)UIObject != (Object)null) { UIObject.SetActive(false); } } public static void UpdateFooterText() { //IL_0017: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)FooterHintText == (Object)null)) { string friendlyName = ValuableTracker.GetFriendlyName(PluginConfig.MenuKeybind.Value); ((TMP_Text)FooterHintText).text = (friendlyName.Contains("Mouse") ? (friendlyName + " to Close") : ("Press " + friendlyName + " to Close")); } } private static void FetchNativeFont() { if (!((Object)(object)nativeFont != (Object)null)) { GameObject val = GameObject.Find("Tax Haul"); if ((Object)(object)val != (Object)null) { nativeFont = ((TMP_Text)val.GetComponent()).font; } } } private static void CreateSettingsMenu() { //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Expected O, but got Unknown //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Expected O, but got Unknown //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Expected O, but got Unknown //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_024d: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_0306: Unknown result type (might be due to invalid IL or missing references) //IL_0368: Unknown result type (might be due to invalid IL or missing references) //IL_03ca: Unknown result type (might be due to invalid IL or missing references) //IL_03f5: Unknown result type (might be due to invalid IL or missing references) //IL_0404: Unknown result type (might be due to invalid IL or missing references) //IL_0418: Unknown result type (might be due to invalid IL or missing references) object obj2; if (!Object.op_Implicit((Object)(object)MenuHolder.instance)) { GameObject obj = GameObject.Find("Game Hud"); obj2 = ((obj != null) ? obj.transform : null); } else { obj2 = ((Component)MenuHolder.instance).transform; } Transform val = (Transform)obj2; if (!((Object)(object)val == (Object)null)) { FetchNativeFont(); SettingsPanel = new GameObject("ValuableTracker_SettingsRoot"); SettingsPanel.transform.SetParent(val, false); SettingsPanel.layer = ((Component)val).gameObject.layer; SettingsMenuPage = SettingsPanel.AddComponent(); ((Behaviour)SettingsMenuPage).enabled = false; RectTransform val2 = SettingsPanel.AddComponent(); val2.anchorMin = Vector2.zero; val2.anchorMax = Vector2.one; val2.offsetMin = Vector2.zero; val2.offsetMax = Vector2.zero; SettingsCanvasGroup = SettingsPanel.AddComponent(); SettingsCanvasGroup.blocksRaycasts = true; SettingsCanvasGroup.alpha = 0f; DimmerPanel = new GameObject("Dimmer"); DimmerPanel.transform.SetParent(SettingsPanel.transform, false); RectTransform val3 = DimmerPanel.AddComponent(); val3.anchorMin = Vector2.zero; val3.anchorMax = Vector2.one; val3.offsetMin = Vector2.zero; val3.offsetMax = Vector2.zero; Image val4 = DimmerPanel.AddComponent(); ((Graphic)val4).color = new Color(0f, 0f, 0f, 0.7f); ((Graphic)val4).raycastTarget = true; WindowContainer = new GameObject("WindowContainer"); WindowContainer.transform.SetParent(SettingsPanel.transform, false); RectTransform val5 = WindowContainer.AddComponent(); val5.sizeDelta = new Vector2(500f, 350f); val5.anchoredPosition = Vector2.zero; Image val6 = WindowContainer.AddComponent(); ((Graphic)val6).color = new Color(0.02f, 0.02f, 0.02f, 0.4f); ((Graphic)val6).raycastTarget = true; CreateTextElement("Title", "VALUABLE TRACKER SETTINGS", 36, new Vector2(0f, 130f), WindowContainer.transform, repoOrange, (TextAlignmentOptions)514, new Vector2(480f, 60f)); CreateResetButton("RESET TO DEFAULT SETTINGS", new Vector2(0f, 90f), WindowContainer.transform); CreateSettingRow("TRACK VALUABLE ITEMS", new Vector2(0f, 45f), WindowContainer.transform, () => PluginConfig.ShowHUD.Value, delegate(bool v) { PluginConfig.ShowHUD.Value = v; }); CreateSettingRow("TRACK ITEMS IN CART", new Vector2(0f, 0f), WindowContainer.transform, () => PluginConfig.ShowCartCount.Value, delegate(bool v) { PluginConfig.ShowCartCount.Value = v; }); CreateSettingRow("TRACK LOST/DESTROYED", new Vector2(0f, -45f), WindowContainer.transform, () => PluginConfig.ShowLostCount.Value, delegate(bool v) { PluginConfig.ShowLostCount.Value = v; }); CreateKeybindRow("MENU KEYBIND", new Vector2(0f, -90f), WindowContainer.transform); FooterHintText = CreateTextElement("Hint", "Press F4 to Close", 18, new Vector2(0f, -140f), WindowContainer.transform, Color.white, (TextAlignmentOptions)514, new Vector2(300f, 40f)); UpdateFooterText(); SettingsPanel.SetActive(false); } } private static void CreateResetButton(string label, Vector2 pos, Transform parent) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject("ResetBtn"); val.transform.SetParent(parent, false); RectTransform val2 = val.AddComponent(); val2.sizeDelta = new Vector2(380f, 25f); val2.anchoredPosition = pos; TextMeshProUGUI t = CreateTextElement("Label", label, 18, Vector2.zero, val.transform, Color.gray, (TextAlignmentOptions)514, new Vector2(380f, 25f)); ResetHandler resetHandler = val.AddComponent(); resetHandler.Setup(t, val2); } private static void CreateKeybindRow(string label, Vector2 pos, Transform parent) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Expected O, but got Unknown //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Expected O, but got Unknown //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Expected O, but got Unknown //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject(label + "_Row"); val.transform.SetParent(parent, false); RectTransform val2 = val.AddComponent(); val2.sizeDelta = new Vector2(380f, 35f); val2.anchoredPosition = pos; GameObject val3 = new GameObject("Border"); val3.transform.SetParent(val.transform, false); RectTransform val4 = val3.AddComponent(); val4.sizeDelta = val2.sizeDelta; Image val5 = val3.AddComponent(); ((Graphic)val5).color = repoBlueBorder; GameObject val6 = new GameObject("InnerHole"); val6.transform.SetParent(val3.transform, false); RectTransform val7 = val6.AddComponent(); val7.sizeDelta = new Vector2(376f, 31f); ((Graphic)val6.AddComponent()).color = new Color(0f, 0f, 0f, 0.95f); CreateTextElement("Label", label, 20, new Vector2(-60f, 0f), val6.transform, Color.white, (TextAlignmentOptions)513, new Vector2(240f, 35f), -2f); GameObject val8 = new GameObject("KeybindBtn"); val8.transform.SetParent(val6.transform, false); RectTransform val9 = val8.AddComponent(); val9.sizeDelta = new Vector2(120f, 31f); val9.anchoredPosition = new Vector2(128f, 0f); Image val10 = val8.AddComponent(); ((Graphic)val10).color = repoBlueActive; TextMeshProUGUI t = CreateTextElement("KeyText", ValuableTracker.GetFriendlyName(PluginConfig.MenuKeybind.Value), 20, Vector2.zero, val8.transform, Color.white, (TextAlignmentOptions)514, new Vector2(120f, 35f), -2f); KeybindHandler keybindHandler = val.AddComponent(); keybindHandler.Setup(val5, val10, t, val9); } private static void CreateSettingRow(string label, Vector2 pos, Transform parent, Func getter, Action setter) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Expected O, but got Unknown //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Expected O, but got Unknown //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Expected O, but got Unknown //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Expected O, but got Unknown //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_0205: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Expected O, but got Unknown //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_0289: Unknown result type (might be due to invalid IL or missing references) //IL_0299: Unknown result type (might be due to invalid IL or missing references) //IL_02a0: Expected O, but got Unknown //IL_02ca: Unknown result type (might be due to invalid IL or missing references) //IL_02da: Unknown result type (might be due to invalid IL or missing references) //IL_02e1: Expected O, but got Unknown //IL_030b: Unknown result type (might be due to invalid IL or missing references) //IL_031d: Unknown result type (might be due to invalid IL or missing references) //IL_032d: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Expected O, but got Unknown //IL_035e: Unknown result type (might be due to invalid IL or missing references) //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_0391: Unknown result type (might be due to invalid IL or missing references) //IL_039d: Unknown result type (might be due to invalid IL or missing references) //IL_03b1: Unknown result type (might be due to invalid IL or missing references) //IL_03d8: Unknown result type (might be due to invalid IL or missing references) //IL_03e4: Unknown result type (might be due to invalid IL or missing references) //IL_03f8: Unknown result type (might be due to invalid IL or missing references) //IL_0439: Unknown result type (might be due to invalid IL or missing references) //IL_0448: Unknown result type (might be due to invalid IL or missing references) //IL_046b: Unknown result type (might be due to invalid IL or missing references) //IL_0485: Unknown result type (might be due to invalid IL or missing references) //IL_0494: Unknown result type (might be due to invalid IL or missing references) //IL_04b7: Unknown result type (might be due to invalid IL or missing references) //IL_0272: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject(label + "_Row"); val.transform.SetParent(parent, false); RectTransform val2 = val.AddComponent(); val2.sizeDelta = new Vector2(380f, 35f); val2.anchoredPosition = pos; GameObject val3 = new GameObject("Border"); val3.transform.SetParent(val.transform, false); RectTransform val4 = val3.AddComponent(); val4.sizeDelta = val2.sizeDelta; Image val5 = val3.AddComponent(); ((Graphic)val5).color = repoBlueBorder; GameObject val6 = new GameObject("InnerHole"); val6.transform.SetParent(val3.transform, false); RectTransform val7 = val6.AddComponent(); val7.sizeDelta = new Vector2(376f, 31f); ((Graphic)val6.AddComponent()).color = new Color(0f, 0f, 0f, 0.95f); CreateTextElement("Label", label, 20, new Vector2(-60f, 0f), val6.transform, Color.white, (TextAlignmentOptions)513, new Vector2(240f, 35f), -2f); GameObject val8 = new GameObject("ToggleBox"); val8.transform.SetParent(val6.transform, false); RectTransform val9 = val8.AddComponent(); val9.sizeDelta = new Vector2(120f, 31f); val9.anchoredPosition = new Vector2(128f, 0f); GameObject val10 = new GameObject("OnHover"); val10.transform.SetParent(val8.transform, false); Image val11 = val10.AddComponent(); ((Graphic)val11).color = repoHover; ((Behaviour)val11).enabled = false; RectTransform component = val10.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { component.sizeDelta = new Vector2(60f, 31f); } component.anchoredPosition = new Vector2(-30f, 0f); GameObject val12 = new GameObject("OffHover"); val12.transform.SetParent(val8.transform, false); Image val13 = val12.AddComponent(); ((Graphic)val13).color = repoHover; ((Behaviour)val13).enabled = false; RectTransform component2 = val12.GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { component2.sizeDelta = new Vector2(60f, 31f); } component2.anchoredPosition = new Vector2(30f, 0f); GameObject val14 = new GameObject("ActiveGroup"); val14.transform.SetParent(val8.transform, false); RectTransform val15 = val14.AddComponent(); val15.sizeDelta = new Vector2(60f, 31f); GameObject val16 = new GameObject("OrangeGlow"); val16.transform.SetParent(val14.transform, false); RectTransform val17 = val16.AddComponent(); val17.sizeDelta = new Vector2(64f, 35f); ((Graphic)val16.AddComponent()).color = repoOrange; GameObject val18 = new GameObject("BlueBody"); val18.transform.SetParent(val14.transform, false); RectTransform val19 = val18.AddComponent(); val19.sizeDelta = new Vector2(60f, 31f); ((Graphic)val18.AddComponent()).color = repoBlueActive; TextMeshProUGUI on = CreateTextElement("ON", "ON", 18, new Vector2(-30f, 0f), val8.transform, Color.white, (TextAlignmentOptions)514, new Vector2(50f, 35f), -2f); TextMeshProUGUI off = CreateTextElement("OFF", "OFF", 18, new Vector2(30f, 0f), val8.transform, Color.white, (TextAlignmentOptions)514, new Vector2(50f, 35f), -2f); RepoRowHandler repoRowHandler = val.AddComponent(); repoRowHandler.Setup(val5, val15, val17, on, off, getter, setter, val11, val13); CreateHitbox("Hit_ON", new Vector2(-30f, 0f), new Vector2(60f, 31f), val8.transform, val: true, repoRowHandler, new Color(0f, 1f, 0f, 0.01f)); CreateHitbox("Hit_OFF", new Vector2(30f, 0f), new Vector2(60f, 31f), val8.transform, val: false, repoRowHandler, new Color(1f, 0f, 0f, 0.01f)); } private static void CreateHitbox(string name, Vector2 pos, Vector2 size, Transform parent, bool val, RepoRowHandler handler, Color debugColor) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) GameObject val2 = new GameObject(name); val2.transform.SetParent(parent, false); RectTransform val3 = val2.AddComponent(); val3.sizeDelta = size; val3.anchoredPosition = pos; Image val4 = val2.AddComponent(); ((Graphic)val4).color = debugColor; ((Graphic)val4).raycastTarget = true; RepoButton repoButton = val2.AddComponent(); repoButton.targetValue = val; if (val) { handler.SetOnTarget(val3); } else { handler.SetOffTarget(val3); } } private static TextMeshProUGUI CreateTextElement(string name, string content, int size, Vector2 pos, Transform parent, Color color, TextAlignmentOptions align, Vector2 boxSize, float yOffset = 0f) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject(name); val.transform.SetParent(parent, false); TextMeshProUGUI val2 = val.AddComponent(); if ((Object)(object)nativeFont != (Object)null) { ((TMP_Text)val2).font = nativeFont; } ((TMP_Text)val2).text = content; ((TMP_Text)val2).fontSize = size; ((Graphic)val2).color = color; ((TMP_Text)val2).alignment = align; ((TMP_Text)val2).rectTransform.anchoredPosition = new Vector2(pos.x, pos.y + yOffset); ((TMP_Text)val2).rectTransform.sizeDelta = boxSize; ((Graphic)val2).raycastTarget = false; return val2; } private static void CreateHUD() { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Expected O, but got Unknown GameObject val = GameObject.Find("Game Hud"); GameObject val2 = GameObject.Find("Tax Haul"); if ((Object)(object)val != (Object)null && (Object)(object)val2 != (Object)null) { UIObject = new GameObject("ValuableTracker_HUD"); UIObject.transform.SetParent(val.transform, false); UIText = UIObject.AddComponent(); ((TMP_Text)UIText).font = val2.GetComponent().font; ((TMP_Text)UIText).fontSize = 24f; ((TMP_Text)UIText).alignment = (TextAlignmentOptions)2052; ((TMP_Text)UIText).enableWordWrapping = false; } } private static void UpdateDisplay() { //IL_029a: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)UIObject == (Object)null) { return; } UpdatePosition(); int num = 0; int num2 = 0; List dollarHaulList = RoundDirector.instance.dollarHaulList; foreach (ValuableTracker.ItemState trackedItem in ValuableTracker.TrackedItems) { if (trackedItem.isLost) { if (trackedItem.isExtracted) { num++; } else { num2++; } continue; } bool flag = false; if ((Object)(object)trackedItem.itemRef != (Object)null) { if (dollarHaulList.Contains(((Component)trackedItem.itemRef).gameObject)) { flag = true; } else if ((Object)(object)((Component)trackedItem.itemRef).transform.parent != (Object)null && dollarHaulList.Contains(((Component)((Component)trackedItem.itemRef).transform.parent).gameObject)) { flag = true; } } bool flag2 = false; if ((Object)(object)trackedItem.itemRef != (Object)null && (!((Component)trackedItem.itemRef).gameObject.activeInHierarchy || !((Behaviour)trackedItem.itemRef).enabled)) { flag2 = true; } if (trackedItem.markedAsSold || flag) { num++; } else if ((Object)(object)trackedItem.itemRef == (Object)null || flag2) { trackedItem.isLost = true; num2++; } } int num3 = 0; if (PluginConfig.ShowCartCount.Value && itemsInCartListField != null) { PhysGrabCart[] array = Object.FindObjectsOfType(); foreach (PhysGrabCart obj in array) { if (!(itemsInCartListField.GetValue(obj) is IEnumerable enumerable)) { continue; } foreach (object item in enumerable) { PhysGrabObject val = (PhysGrabObject)((item is PhysGrabObject) ? item : null); if ((Object)(object)val != (Object)null && (Object)(object)((Component)val).GetComponent() != (Object)null) { num3++; } } } } int num4 = ValuableTracker.TotalItemsRecorded - num2; if (!((Object)(object)UIText != (Object)null)) { return; } StringBuilder stringBuilder = new StringBuilder(); bool flag3 = false; ((Graphic)UIText).color = new Color(0.78f, 0.91f, 0.9f, 1f); if (PluginConfig.ShowHUD.Value) { bool flag4 = num == num4 && num4 > 0; if (flag4) { stringBuilder.Append(""); } stringBuilder.Append($"Items: {num} / {num4}"); if (flag4) { stringBuilder.Append(""); } flag3 = true; } if (PluginConfig.ShowCartCount.Value && num3 > 0) { if (flag3) { stringBuilder.Append("\n"); } stringBuilder.Append($"In Cart: {num3}"); flag3 = true; } if (PluginConfig.ShowLostCount.Value && num2 > 0) { if (flag3) { stringBuilder.Append("\n"); } stringBuilder.Append($"Lost: {num2}"); } ((TMP_Text)UIText).text = stringBuilder.ToString(); } private static void UpdatePosition() { //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) RectTransform component = UIObject.GetComponent(); float num = 225f; foreach (RectTransform item in UIObject.transform.parent) { RectTransform val = item; if ((Object)(object)val == (Object)(object)component || !((Component)val).gameObject.activeSelf || !(val.anchoredPosition.y > 220f) || !(val.anchoredPosition.y < 230f)) { continue; } num = 195f; break; } component.pivot = new Vector2(1f, 1f); component.anchorMin = Vector2.zero; component.anchorMax = new Vector2(1f, 0f); component.offsetMax = new Vector2(0f, num); component.offsetMin = new Vector2(0f, num); component.sizeDelta = Vector2.zero; } } }