Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of Ninja Tools Utils v1.0.1
plugins/SurvivorFramework.dll
Decompiled 2 days ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Diagnostics; 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 BepInEx; using EntityStates; using JetBrains.Annotations; using KinematicCharacterController; using Microsoft.CodeAnalysis; using On.RoR2; using On.RoR2.UI; using R2API; using R2API.Networking; using R2API.Networking.Interfaces; using R2API.Utils; using RoR2; using RoR2.CameraModes; using RoR2.Navigation; using RoR2.Projectile; using RoR2.Skills; using RoR2.UI; using SurvivorFramework.Defense; using SurvivorFramework.Effects; using SurvivorFramework.Forms; using SurvivorFramework.Mastery; using SurvivorFramework.Movement; using SurvivorFramework.Net; using SurvivorFramework.Ninja; using SurvivorFramework.Resources; using SurvivorFramework.UI; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Networking; using UnityEngine.Rendering; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("SurvivorFramework")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+58a86b8ad83f0e9f3dda462bae30810ec5d2d51d")] [assembly: AssemblyProduct("SurvivorFramework")] [assembly: AssemblyTitle("SurvivorFramework")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [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] [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 SurvivorFramework { public static class Framework { public const string Version = "1.0.1"; private static bool initialized; public static void Init() { if (!initialized) { initialized = true; NetworkingAPI.RegisterMessageType<SurfaceStateMessage>(); NetworkingAPI.RegisterMessageType<KillCreditMessage>(); NetworkingAPI.RegisterMessageType<SubstitutionMessage>(); NetworkingAPI.RegisterMessageType<SubstitutionLogMessage>(); NetworkingAPI.RegisterMessageType<AnimSyncMessage>(); NetworkingAPI.RegisterMessageType<FormRequestMessage>(); NetworkingAPI.RegisterMessageType<NinjaChargeMessage>(); NetworkingAPI.RegisterMessageType<NinjaChargeBroadcast>(); SubstitutionController.InstallHooks(); SurfaceWalker.InstallHooks(); MasteryTracker.InstallHooks(); ResourceHud.InstallHooks(); NinjaKeyHints.InstallHooks(); FormController.InstallHooks(); NinjaChakra.InstallHooks(); } } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.Eddie.SurvivorFramework", "SurvivorFramework", "1.0.1")] public class FrameworkPlugin : BaseUnityPlugin { public const string GUID = "com.Eddie.SurvivorFramework"; public const string NAME = "SurvivorFramework"; private void Awake() { Framework.Init(); } } } namespace SurvivorFramework.UI { public class NinjaKeyHints : MonoBehaviour { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_Awake <>9__3_0; public static Converter<RectTransform, string> <>9__16_0; public static Predicate<RectTransform> <>9__17_0; public static Predicate<Transform> <>9__28_0; internal void <InstallHooks>b__3_0(orig_Awake orig, HUD self) { orig.Invoke(self); ((Component)self).gameObject.AddComponent<NinjaKeyHints>().hud = self; } internal string <FindNeighbours>b__16_0(RectTransform n) { return ((Object)n).name; } internal bool <ShiftNeighbours>b__17_0(RectTransform n) { return !Object.op_Implicit((Object)(object)n); } internal bool <UpdateChargeHint>b__28_0(Transform h) { return !Object.op_Implicit((Object)(object)h); } } public static readonly List<Func<GameObject, KeyCode?>> chargeKeyProviders = new List<Func<GameObject, KeyCode?>>(); private HUD hud; private static bool installed; private readonly List<RectTransform> extraBuf = new List<RectTransform>(); private readonly List<RectTransform> neighbours = new List<RectTransform>(); private readonly Dictionary<RectTransform, Vector3> baseLocal = new Dictionary<RectTransform, Vector3>(); private readonly Dictionary<RectTransform, Vector3> lastSet = new Dictionary<RectTransform, Vector3>(); private float searchAt; private bool logged; private bool hooked; private readonly Vector3[] corners = (Vector3[])(object)new Vector3[4]; private const string SealPng = "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"; private static Sprite sealSprite; private GameObject chargeHint; private Component chargeKeyText; private string chargeKeyShown; private readonly List<Transform> hintCtrls = new List<Transform>(); internal static void InstallHooks() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected O, but got Unknown if (installed) { return; } installed = true; object obj = <>c.<>9__3_0; if (obj == null) { hook_Awake val = delegate(orig_Awake orig, HUD self) { orig.Invoke(self); ((Component)self).gameObject.AddComponent<NinjaKeyHints>().hud = self; }; <>c.<>9__3_0 = val; obj = (object)val; } HUD.Awake += (hook_Awake)obj; } private static KeyCode? ChargeKey(GameObject body) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)body)) { return null; } NinjaChakra component = body.GetComponent<NinjaChakra>(); if (Object.op_Implicit((Object)(object)component) && component.hintKey != null) { try { return component.hintKey(); } catch { } } foreach (Func<GameObject, KeyCode?> chargeKeyProvider in chargeKeyProviders) { try { KeyCode? result = chargeKeyProvider?.Invoke(body); if (result.HasValue) { return result; } } catch { } } return null; } private List<RectTransform> ExtraIcons() { extraBuf.Clear(); RectTransform val = ResourceHud.extraSkillIcon?.Invoke(); if (Object.op_Implicit((Object)(object)val)) { extraBuf.Add(val); } foreach (Func<RectTransform> extraSkillIcon in ResourceHud.extraSkillIcons) { RectTransform val2 = null; try { val2 = extraSkillIcon?.Invoke(); } catch { } if (Object.op_Implicit((Object)(object)val2) && !extraBuf.Contains(val2)) { extraBuf.Add(val2); } } return extraBuf; } private void LateUpdate() { if (Object.op_Implicit((Object)(object)hud)) { ShiftNeighbours(); } } private bool UnderSkillIcon(Transform t) { SkillIcon[] skillIcons = hud.skillIcons; foreach (SkillIcon val in skillIcons) { if (Object.op_Implicit((Object)(object)val) && t.IsChildOf(((Component)val).transform)) { return true; } } foreach (RectTransform item in ExtraIcons()) { if (t.IsChildOf((Transform)(object)item)) { return true; } } return false; } private void FindNeighbours() { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0061: 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) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) neighbours.Clear(); hintCtrls.Clear(); Transform transform = ((Component)hud.skillIcons[0]).transform; Transform transform2 = ((Component)hud.skillIcons[1]).transform; Vector3 val = transform.position - transform2.position; float magnitude = ((Vector3)(ref val)).magnitude; if (magnitude < 1E-05f) { return; } Vector3 val2 = val / magnitude; Component[] componentsInChildren = ((Component)hud).GetComponentsInChildren<Component>(true); foreach (Component val3 in componentsInChildren) { if (!Object.op_Implicit((Object)(object)val3) || ((object)val3).GetType().Name != "InputBindingDisplayController" || UnderSkillIcon(val3.transform)) { continue; } Vector3 val4 = val3.transform.position - transform.position; float num = Vector3.Dot(val4, val2) / magnitude; Vector3 val5 = val4 - val2 * Vector3.Dot(val4, val2); float num2 = ((Vector3)(ref val5)).magnitude / magnitude; if (!(num < 0.2f) && !(num > 5f) && !(num2 > 1.6f)) { Transform val6 = val3.transform; while (Object.op_Implicit((Object)(object)val6.parent) && !transform.IsChildOf(val6.parent)) { val6 = val6.parent; } RectTransform val7 = (RectTransform)(object)((val6 is RectTransform) ? val6 : null); if (val7 != null && !neighbours.Contains(val7) && !transform.IsChildOf((Transform)(object)val7) && !UnderSkillIcon((Transform)(object)val7)) { neighbours.Add(val7); } if (!hintCtrls.Contains(val3.transform)) { hintCtrls.Add(val3.transform); } } } if (neighbours.Count > 0 && !logged) { logged = true; Debug.Log((object)("[SurvivorFramework] HUD key hints moved aside for the extra skill icons: " + string.Join(", ", neighbours.ConvertAll((RectTransform n) => ((Object)n).name)))); } } private void ShiftNeighbours() { //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Expected O, but got Unknown //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_010b: 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_0122: 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_0129: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_022a: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_0239: 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_0243: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Unknown result type (might be due to invalid IL or missing references) //IL_0258: Unknown result type (might be due to invalid IL or missing references) //IL_02a2: 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_026a: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)hud) || hud.skillIcons == null || hud.skillIcons.Length < 2 || !Object.op_Implicit((Object)(object)hud.skillIcons[0]) || !Object.op_Implicit((Object)(object)hud.skillIcons[1])) { return; } if (!hooked) { hooked = true; Canvas.willRenderCanvases += new WillRenderCanvases(ShiftNeighbours); } neighbours.RemoveAll((RectTransform n) => !Object.op_Implicit((Object)(object)n)); if (neighbours.Count == 0 && Time.unscaledTime >= searchAt) { searchAt = Time.unscaledTime + 1f; FindNeighbours(); } if (neighbours.Count == 0) { return; } Vector3 val = ((Component)hud.skillIcons[0]).transform.position - ((Component)hud.skillIcons[1]).transform.position; float magnitude = ((Vector3)(ref val)).magnitude; if (magnitude < 1E-05f) { return; } Vector3 val2 = val / magnitude; Vector3 val3; foreach (RectTransform neighbour in neighbours) { if (baseLocal.ContainsKey(neighbour) && lastSet.TryGetValue(neighbour, out var value)) { val3 = ((Transform)neighbour).localPosition - value; if (!(((Vector3)(ref val3)).sqrMagnitude > 1E-06f)) { continue; } } baseLocal[neighbour] = ((Transform)neighbour).localPosition; } int num = 0; foreach (RectTransform item in ExtraIcons()) { if (((Component)item).gameObject.activeInHierarchy) { num++; } } float num2 = (float)Mathf.Max(0, num - 1) * magnitude; foreach (RectTransform neighbour2 in neighbours) { if (Object.op_Implicit((Object)(object)((Transform)neighbour2).parent)) { Vector3 val4 = baseLocal[neighbour2] + ((Transform)neighbour2).parent.InverseTransformVector(val2 * num2); val3 = ((Transform)neighbour2).localPosition - val4; if (((Vector3)(ref val3)).sqrMagnitude > 1E-08f) { ((Transform)neighbour2).localPosition = val4; } lastSet[neighbour2] = ((Transform)neighbour2).localPosition; } } UpdateChargeHint(val2, magnitude); } private static Sprite SealSprite() { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)sealSprite)) { Texture2D val = new Texture2D(2, 2, (TextureFormat)4, false) { wrapMode = (TextureWrapMode)1, filterMode = (FilterMode)1 }; ImageConversion.LoadImage(val, Convert.FromBase64String("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")); sealSprite = Sprite.Create(val, new Rect(0f, 0f, (float)((Texture)val).width, (float)((Texture)val).height), new Vector2(0.5f, 0.5f), 100f); } return sealSprite; } public unsafe static string KeyLabel(KeyCode k) { string text = ((object)(*(KeyCode*)(&k))/*cast due to .constrained prefix*/).ToString(); if (text.StartsWith("Alpha")) { return text.Substring(5); } if (text.StartsWith("Keypad")) { return "Num " + text.Substring(6); } text = text.Replace("Control", "Ctrl"); if (text.StartsWith("Left") && text.Length > 4) { return "Left " + text.Substring(4); } if (text.StartsWith("Right") && text.Length > 5) { return "Right " + text.Substring(5); } switch (text) { case "Mouse0": return "M1"; case "Mouse1": return "M2"; case "Mouse2": return "M3"; default: if (text.StartsWith("Mouse")) { return "M" + (int.Parse(text.Substring(5)) + 1); } return text; } } private void BuildChargeHint(RectTransform template) { //IL_0353: Unknown result type (might be due to invalid IL or missing references) //IL_02e1: Unknown result type (might be due to invalid IL or missing references) //IL_02e6: Unknown result type (might be due to invalid IL or missing references) StringBuilder stringBuilder = new StringBuilder("[SurvivorFramework] charge key hint built from: "); Transform[] componentsInChildren = ((Component)template).GetComponentsInChildren<Transform>(true); foreach (Transform val in componentsInChildren) { stringBuilder.Append(((Object)(object)val == (Object)(object)template) ? "" : " | ").Append(((Object)val).name).Append(((Component)val).gameObject.activeSelf ? "" : "(off)") .Append(" ["); Component[] components = ((Component)val).GetComponents<Component>(); foreach (Component val2 in components) { if (Object.op_Implicit((Object)(object)val2) && !(val2 is Transform) && !(val2 is CanvasRenderer)) { stringBuilder.Append(((object)val2).GetType().Name).Append(' '); } } stringBuilder.Append(']'); } Debug.Log((object)stringBuilder.ToString()); chargeHint = Object.Instantiate<GameObject>(((Component)template).gameObject, ((Transform)template).parent, false); ((Object)chargeHint).name = "NinjaChargeKeyHint"; (chargeHint.GetComponent<LayoutElement>() ?? chargeHint.AddComponent<LayoutElement>()).ignoreLayout = true; Graphic val3 = null; MonoBehaviour[] componentsInChildren2 = chargeHint.GetComponentsInChildren<MonoBehaviour>(true); foreach (MonoBehaviour val4 in componentsInChildren2) { if (!Object.op_Implicit((Object)(object)val4)) { continue; } Type type = ((object)val4).GetType(); if (!(val4 is Graphic) && !(val4 is LayoutElement) && !(val4 is LayoutGroup) && !(val4 is ContentSizeFitter) && !(val4 is Mask) && !(val4 is RectMask2D) && !(type.Namespace == "TMPro") && !type.Name.Contains("TextMeshPro")) { try { Object.DestroyImmediate((Object)(object)val4); } catch { } } } Graphic[] componentsInChildren3 = chargeHint.GetComponentsInChildren<Graphic>(true); foreach (Graphic val5 in componentsInChildren3) { if (Object.op_Implicit((Object)(object)val5) && ((object)val5).GetType().GetProperty("text") != null && (((object)val5).GetType().Name.Contains("TextMeshPro") || val5 is Text)) { val3 = val5; break; } } chargeKeyText = (Component)(object)val3; Image val6 = null; int num = int.MinValue; Image[] componentsInChildren4 = chargeHint.GetComponentsInChildren<Image>(true); foreach (Image val7 in componentsInChildren4) { if (!Object.op_Implicit((Object)(object)val7) || !((Component)val7).gameObject.activeSelf || (Object.op_Implicit((Object)(object)val3) && ((Component)val3).transform.IsChildOf(((Component)val7).transform))) { continue; } string name = ((Object)((Component)val7).gameObject).name; if (name.IndexOf("Background", StringComparison.OrdinalIgnoreCase) < 0) { Rect rect = ((Graphic)val7).rectTransform.rect; int num2 = (name.EndsWith("Icon") ? 100000 : 0) + Mathf.RoundToInt(((Rect)(ref rect)).width * ((Rect)(ref rect)).height); if (num2 > num) { num = num2; val6 = val7; } } } if (Object.op_Implicit((Object)(object)val6)) { val6.sprite = SealSprite(); val6.overrideSprite = null; val6.preserveAspect = true; ((Graphic)val6).color = Color.white; val6.type = (Type)0; } chargeKeyShown = null; } private Transform HintItem(Transform ctrl) { Transform val = ctrl; while (Object.op_Implicit((Object)(object)val.parent)) { bool flag = false; foreach (Transform hintCtrl in hintCtrls) { if (Object.op_Implicit((Object)(object)hintCtrl) && (Object)(object)hintCtrl != (Object)(object)ctrl && hintCtrl.IsChildOf(val.parent)) { flag = true; break; } } if (flag || neighbours.Contains((RectTransform)(object)((val is RectTransform) ? val : null))) { break; } val = val.parent; } return val; } private void UpdateChargeHint(Vector3 L, float step) { //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017f: 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_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: 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_0187: Unknown result type (might be due to invalid IL or missing references) //IL_018d: 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) GameObject targetBodyObject = hud.targetBodyObject; hintCtrls.RemoveAll((Transform h) => !Object.op_Implicit((Object)(object)h)); KeyCode? val = ChargeKey(targetBodyObject); if (!val.HasValue || hintCtrls.Count <= 0) { if (Object.op_Implicit((Object)(object)chargeHint) && chargeHint.activeSelf) { chargeHint.SetActive(false); } return; } Transform val2 = null; Transform val3 = null; float num = float.MinValue; float num2 = float.MaxValue; foreach (Transform hintCtrl in hintCtrls) { if (((Component)hintCtrl).gameObject.activeInHierarchy) { Transform val4 = HintItem(hintCtrl); float num3 = Vector3.Dot(val4.position, L); if (num3 > num) { num = num3; val2 = val4; } if (num3 < num2) { num2 = num3; val3 = val4; } } } RectTransform val5 = (RectTransform)(object)((val2 is RectTransform) ? val2 : null); if (val5 == null) { if (Object.op_Implicit((Object)(object)chargeHint)) { chargeHint.SetActive(false); } return; } if (!Object.op_Implicit((Object)(object)chargeHint)) { BuildChargeHint(val5); } if (!Object.op_Implicit((Object)(object)chargeHint)) { return; } if (!chargeHint.activeSelf) { chargeHint.SetActive(true); } Vector3 val6 = ((Object.op_Implicit((Object)(object)val3) && (Object)(object)val3 != (Object)(object)val2) ? (val2.position - val3.position) : (L * step * 0.7f)); chargeHint.transform.position = val2.position + val6; string text = KeyLabel(val.Value); if (!Object.op_Implicit((Object)(object)chargeKeyText) || !(text != chargeKeyShown)) { return; } chargeKeyShown = text; try { ((object)chargeKeyText).GetType().GetProperty("text").SetValue(chargeKeyText, text); } catch { } } private void OnDestroy() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected O, but got Unknown if (hooked) { Canvas.willRenderCanvases -= new WillRenderCanvases(ShiftNeighbours); } if (Object.op_Implicit((Object)(object)chargeHint)) { Object.Destroy((Object)(object)chargeHint); } } } public class RadialMenu { public struct Item { public string label; public string sub; public string initials; public string detail; public Color color; public bool disabled; } public Item[] items = new Item[0]; public float[] angles; public int centerItem = -1; public string idleTitle = ""; public string idleDetail = ""; public Color idleColor = Color.white; public Action<float> drawUnder; public float underHeight; public Action<Vector2, float> drawSide; public bool drawCursor = true; private MPEventSystem cursorSystem; private float hoverAnim; private int lastHover = -2; private static Texture2D texDisc; private static Texture2D texRing; private static Texture2D texGlow; private static Texture2D texPixel; private static GUIStyle sName; private static GUIStyle sSmall; private static GUIStyle sCenterName; private static GUIStyle sCenterSmall; private static Texture2D texPointer; private int RingCount => items.Length - ((centerItem >= 0 && centerItem < items.Length) ? 1 : 0); public bool isOpen { get; private set; } public int hover { get; private set; } = -1; private int RingIndex(int i) { if (centerItem < 0 || i <= centerItem) { return i; } return i - 1; } private float AngleOf(int i) { if (angles == null || angles.Length != items.Length) { return (float)RingIndex(i) * 360f / (float)Mathf.Max(1, RingCount); } return angles[i]; } public void Open() { if (!isOpen) { isOpen = true; hover = -1; LocalUser firstLocalUser = LocalUserManager.GetFirstLocalUser(); cursorSystem = ((firstLocalUser != null) ? firstLocalUser.eventSystem : null); if (Object.op_Implicit((Object)(object)cursorSystem)) { MPEventSystem obj = cursorSystem; int cursorOpenerCount = obj.cursorOpenerCount; obj.cursorOpenerCount = cursorOpenerCount + 1; } } } public void Close() { if (isOpen) { isOpen = false; if (Object.op_Implicit((Object)(object)cursorSystem)) { cursorSystem.cursorOpenerCount = Mathf.Max(0, cursorSystem.cursorOpenerCount - 1); cursorSystem = null; } } } public int UpdatePick() { //IL_0039: 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_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) hover = -1; if (!isOpen || items.Length == 0) { return -1; } Vector2 val = default(Vector2); ((Vector2)(ref val))..ctor((float)Screen.width * 0.5f, (float)Screen.height * 0.5f); Vector2 val2 = Vector2.op_Implicit(Input.mousePosition) - val; bool flag = centerItem >= 0 && centerItem < items.Length; float num = (float)Screen.height * (flag ? 0.1f : 0.06f); if (((Vector2)(ref val2)).magnitude < num) { if (flag && !items[centerItem].disabled) { hover = centerItem; } return hover; } float num2 = Mathf.Atan2(val2.x, val2.y) * 57.29578f; if (num2 < 0f) { num2 += 360f; } int num3 = -1; float num4 = 999f; for (int i = 0; i < items.Length; i++) { if (i != centerItem) { float num5 = Mathf.Abs(Mathf.DeltaAngle(num2, AngleOf(i))); if (num5 < num4) { num4 = num5; num3 = i; } } } if (num3 < 0) { return -1; } hover = (items[num3].disabled ? (-1) : num3); return hover; } private static Texture2D MakeCircle(int n, float inner, float softness, bool radialFade) { //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown //IL_00bd: 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) Texture2D val = new Texture2D(n, n, (TextureFormat)4, false) { wrapMode = (TextureWrapMode)1, filterMode = (FilterMode)1 }; Color32[] array = (Color32[])(object)new Color32[n * n]; float num = (float)(n - 1) * 0.5f; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { float num2 = Mathf.Sqrt(((float)j - num) * ((float)j - num) + ((float)i - num) * ((float)i - num)) / num; float num3 = Mathf.Clamp01((1f - num2) / softness); if (inner > 0f) { num3 *= Mathf.Clamp01((num2 - inner) / softness); } if (radialFade) { num3 = Mathf.Pow(Mathf.Clamp01(1f - num2), 2f); } array[i * n + j] = new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, (byte)(num3 * 255f)); } } val.SetPixels32(array); val.Apply(); return val; } private static void EnsureGui() { //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Expected O, but got Unknown //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Expected O, but got Unknown //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Expected O, but got Unknown //IL_011f: 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_0130: Expected O, but got Unknown if (!Object.op_Implicit((Object)(object)texDisc)) { texDisc = MakeCircle(128, 0f, 0.04f, radialFade: false); } if (!Object.op_Implicit((Object)(object)texRing)) { texRing = MakeCircle(128, 0.86f, 0.04f, radialFade: false); } if (!Object.op_Implicit((Object)(object)texGlow)) { texGlow = MakeCircle(128, 0f, 1f, radialFade: true); } if (!Object.op_Implicit((Object)(object)texPixel)) { texPixel = new Texture2D(1, 1); texPixel.SetPixel(0, 0, Color.white); texPixel.Apply(); } int num = Mathf.RoundToInt((float)Screen.height / 52f); if (sName == null) { sName = new GUIStyle(GUI.skin.label) { alignment = (TextAnchor)1, fontStyle = (FontStyle)1, richText = true, wordWrap = true }; sSmall = new GUIStyle(sName) { fontStyle = (FontStyle)0 }; sCenterName = new GUIStyle(sName) { alignment = (TextAnchor)4 }; sCenterSmall = new GUIStyle(sSmall) { alignment = (TextAnchor)4 }; } sName.fontSize = num; sSmall.fontSize = Mathf.RoundToInt((float)num * 0.8f); sCenterName.fontSize = Mathf.RoundToInt((float)num * 1.15f); sCenterSmall.fontSize = Mathf.RoundToInt((float)num * 0.85f); } private static void Disc(Texture2D t, Vector2 c, float r, Color col) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) GUI.color = col; GUI.DrawTexture(new Rect(c.x - r, c.y - r, r * 2f, r * 2f), (Texture)(object)t); } public static void Shadowed(Rect r, string text, GUIStyle st) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_006e: 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) Color color = GUI.color; GUI.color = new Color(0f, 0f, 0f, 0.8f * color.a); GUI.Label(new Rect(((Rect)(ref r)).x + 1.5f, ((Rect)(ref r)).y + 1.5f, ((Rect)(ref r)).width, ((Rect)(ref r)).height), Regex.Replace(text, "<color=[^>]*>|</color>", ""), st); GUI.color = color; GUI.Label(r, text, st); } public static void Label(Rect r, string text, float sizeOfHeight, TextAnchor anchor) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Expected O, but got Unknown //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) EnsureGui(); GUIStyle st = new GUIStyle(sSmall) { alignment = anchor, fontSize = Mathf.RoundToInt((float)Screen.height * sizeOfHeight), wordWrap = false }; GUI.color = Color.white; Shadowed(r, text, st); } public void Draw() { //IL_0027: 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_0076: Unknown result type (might be due to invalid IL or missing references) if (isOpen && items.Length != 0) { DrawBody(); float num = Screen.height; if (drawSide != null) { GUI.color = Color.white; drawSide(new Vector2((float)Screen.width * 0.5f, num * 0.5f), num * 0.235f + num * 0.055f * 2.4f); } if (drawCursor) { DrawPointer(); } GUI.color = Color.white; } } public static void DrawPointer() { //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01cf: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_01ed: Unknown result type (might be due to invalid IL or missing references) //IL_01fe: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected O, but got Unknown //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0060: 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_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_008c: 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_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)texPointer)) { texPointer = new Texture2D(32, 32, (TextureFormat)4, false) { filterMode = (FilterMode)1, wrapMode = (TextureWrapMode)1 }; Color32[] array = (Color32[])(object)new Color32[1024]; Vector2[] v = (Vector2[])(object)new Vector2[7] { new Vector2(1f, 1f), new Vector2(1f, 24f), new Vector2(7f, 18.5f), new Vector2(11f, 28f), new Vector2(15f, 26.5f), new Vector2(11f, 17.5f), new Vector2(19f, 17.5f) }; Vector2 p = default(Vector2); Color32 val = default(Color32); for (int i = 0; i < 32; i++) { for (int j = 0; j < 32; j++) { ((Vector2)(ref p))..ctor((float)j + 0.5f, (float)i + 0.5f); float num = PolyDist(v, p); ((Color32)(ref val))..ctor((byte)0, (byte)0, (byte)0, (byte)0); if (num < -1.6f) { ((Color32)(ref val))..ctor(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue); } else if (num < 0.6f) { ((Color32)(ref val))..ctor((byte)20, (byte)20, (byte)24, (byte)(255f * Mathf.Clamp01(0.6f - num))); } array[(31 - i) * 32 + j] = val; } } texPointer.SetPixels32(array); texPointer.Apply(); } Vector2 val2 = Vector2.op_Implicit(Input.mousePosition); float num2 = Mathf.Max(20f, (float)Screen.height / 34f); GUI.color = Color.white; GUI.DrawTexture(new Rect(val2.x - num2 * 0.03f, (float)Screen.height - val2.y - num2 * 0.03f, num2, num2), (Texture)(object)texPointer); } private static float PolyDist(Vector2[] v, Vector2 p) { //IL_0021: 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_00a2: 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_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: 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_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: 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_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: 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) //IL_005e: Unknown result type (might be due to invalid IL or missing references) bool flag = false; float num = float.MaxValue; int num2 = 0; int num3 = v.Length - 1; while (num2 < v.Length) { if (v[num2].y > p.y != v[num3].y > p.y && p.x < (v[num3].x - v[num2].x) * (p.y - v[num2].y) / (v[num3].y - v[num2].y) + v[num2].x) { flag = !flag; } Vector2 val = v[num2] - v[num3]; float num4 = Mathf.Clamp01(Vector2.Dot(p - v[num3], val) / Mathf.Max(1E-05f, ((Vector2)(ref val)).sqrMagnitude)); float num5 = num; Vector2 val2 = v[num3] + val * num4 - p; num = Mathf.Min(num5, ((Vector2)(ref val2)).magnitude); num3 = num2++; } if (!flag) { return num; } return 0f - num; } private void DrawBody() { //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019c: 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_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_0239: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_0500: Unknown result type (might be due to invalid IL or missing references) //IL_0517: Unknown result type (might be due to invalid IL or missing references) //IL_04f1: Unknown result type (might be due to invalid IL or missing references) //IL_026c: 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_0543: Unknown result type (might be due to invalid IL or missing references) //IL_052b: Unknown result type (might be due to invalid IL or missing references) //IL_0271: Unknown result type (might be due to invalid IL or missing references) //IL_0548: Unknown result type (might be due to invalid IL or missing references) //IL_054f: Unknown result type (might be due to invalid IL or missing references) //IL_0552: Unknown result type (might be due to invalid IL or missing references) //IL_0559: Unknown result type (might be due to invalid IL or missing references) //IL_0560: Unknown result type (might be due to invalid IL or missing references) //IL_056c: Unknown result type (might be due to invalid IL or missing references) //IL_0576: Unknown result type (might be due to invalid IL or missing references) //IL_02e6: Unknown result type (might be due to invalid IL or missing references) //IL_02fe: Unknown result type (might be due to invalid IL or missing references) //IL_030d: Unknown result type (might be due to invalid IL or missing references) //IL_0317: Unknown result type (might be due to invalid IL or missing references) //IL_0324: Unknown result type (might be due to invalid IL or missing references) //IL_0331: Unknown result type (might be due to invalid IL or missing references) //IL_0343: Unknown result type (might be due to invalid IL or missing references) //IL_0352: 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_035d: Unknown result type (might be due to invalid IL or missing references) //IL_0364: Unknown result type (might be due to invalid IL or missing references) //IL_02ac: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02bd: Unknown result type (might be due to invalid IL or missing references) //IL_02c4: Unknown result type (might be due to invalid IL or missing references) //IL_02d7: Unknown result type (might be due to invalid IL or missing references) //IL_05d2: Unknown result type (might be due to invalid IL or missing references) //IL_05db: Unknown result type (might be due to invalid IL or missing references) //IL_05fa: Unknown result type (might be due to invalid IL or missing references) //IL_060f: Unknown result type (might be due to invalid IL or missing references) //IL_037b: Unknown result type (might be due to invalid IL or missing references) //IL_0385: Unknown result type (might be due to invalid IL or missing references) //IL_038f: Unknown result type (might be due to invalid IL or missing references) //IL_0399: Unknown result type (might be due to invalid IL or missing references) //IL_03b3: Unknown result type (might be due to invalid IL or missing references) //IL_03c8: 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_03d4: Unknown result type (might be due to invalid IL or missing references) //IL_06a1: Unknown result type (might be due to invalid IL or missing references) //IL_0658: Unknown result type (might be due to invalid IL or missing references) //IL_0662: Unknown result type (might be due to invalid IL or missing references) //IL_0671: Unknown result type (might be due to invalid IL or missing references) //IL_0690: Unknown result type (might be due to invalid IL or missing references) //IL_0437: Unknown result type (might be due to invalid IL or missing references) //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_0450: Unknown result type (might be due to invalid IL or missing references) //IL_046e: Unknown result type (might be due to invalid IL or missing references) //IL_0492: Unknown result type (might be due to invalid IL or missing references) //IL_04a1: Unknown result type (might be due to invalid IL or missing references) //IL_04c1: Unknown result type (might be due to invalid IL or missing references) //IL_0430: Unknown result type (might be due to invalid IL or missing references) EnsureGui(); float num = Screen.height; Vector2 val = default(Vector2); ((Vector2)(ref val))..ctor((float)Screen.width * 0.5f, num * 0.5f); float num2 = num * 0.235f; float num3 = num * 0.055f; float num4 = num * 0.11f; if (hover != lastHover) { lastHover = hover; hoverAnim = 0f; } hoverAnim = Mathf.MoveTowards(hoverAnim, 1f, Time.unscaledDeltaTime * 8f); GUI.color = new Color(0f, 0f, 0f, 0.35f); GUI.DrawTexture(new Rect(0f, 0f, (float)Screen.width, num), (Texture)(object)texPixel); Disc(texGlow, val, num2 + num3 * 2.4f, new Color(0f, 0f, 0f, 0.75f)); Disc(texRing, val, num2 + 1.5f, new Color(1f, 1f, 1f, 0.12f)); _ = 360f / (float)items.Length; bool flag = centerItem >= 0 && centerItem < items.Length; if (hover >= 0 && hover != centerItem) { Color color = items[hover].color; Matrix4x4 matrix = GUI.matrix; GUIUtility.RotateAroundPivot(AngleOf(hover), val); GUI.color = new Color(color.r, color.g, color.b, 0.55f * hoverAnim); GUI.DrawTexture(new Rect(val.x - 2f, val.y - num2 + num3, 4f, num2 - num3 - num4), (Texture)(object)texPixel); GUI.matrix = matrix; } for (int i = 0; i < items.Length; i++) { if (i != centerItem) { Item item = items[i]; float num5 = AngleOf(i) * (MathF.PI / 180f); Vector2 val2 = val + new Vector2(Mathf.Sin(num5), 0f - Mathf.Cos(num5)) * num2; Color val3 = (Color)(item.disabled ? new Color(0.45f, 0.45f, 0.45f) : item.color); bool flag2 = i == hover; float num6 = num3 * (flag2 ? Mathf.Lerp(1f, 1.18f, hoverAnim) : 1f); if (flag2) { Disc(texGlow, val2, num6 * 2.1f, new Color(val3.r, val3.g, val3.b, 0.55f * hoverAnim)); } Disc(texDisc, val2, num6, new Color(0.06f, 0.06f, 0.09f, 0.95f)); Disc(texDisc, val2, num6 * 0.78f, new Color(val3.r * 0.35f, val3.g * 0.35f, val3.b * 0.35f, 0.9f)); Disc(texRing, val2, num6, new Color(val3.r, val3.g, val3.b, flag2 ? 1f : 0.7f)); GUI.color = Color.white; Shadowed(new Rect(val2.x - num6, val2.y - num6 * 0.45f, num6 * 2f, num6), "<color=#" + ColorUtility.ToHtmlStringRGB(Color.Lerp(val3, Color.white, 0.4f)) + ">" + item.initials + "</color>", sCenterName); GUI.color = (Color)(flag2 ? Color.white : new Color(1f, 1f, 1f, item.disabled ? 0.45f : 0.75f)); Shadowed(new Rect(val2.x - num3 * 2.2f, val2.y + num6 + 2f, num3 * 4.4f, num * 0.03f), item.label, sName); if (!string.IsNullOrEmpty(item.sub)) { Shadowed(new Rect(val2.x - num3 * 2.2f, val2.y + num6 + num * 0.026f, num3 * 4.4f, num * 0.03f), item.sub, sSmall); } } } if (flag) { DrawCenterButton(val, num4, num); return; } Disc(texDisc, val, num4, new Color(0.04f, 0.04f, 0.07f, 0.92f)); Color val4 = ((hover >= 0) ? items[hover].color : idleColor); Disc(texRing, val, num4, new Color(val4.r, val4.g, val4.b, 0.8f)); GUI.color = Color.white; string text = ((hover >= 0) ? items[hover].label : idleTitle); string text2 = ((hover >= 0) ? items[hover].detail : idleDetail); Shadowed(new Rect(val.x - num4, val.y - num4 * 0.55f, num4 * 2f, num4 * 0.5f), "<color=#" + ColorUtility.ToHtmlStringRGB(val4) + ">" + text + "</color>", sCenterName); if (!string.IsNullOrEmpty(text2)) { GUI.color = new Color(1f, 1f, 1f, 0.8f); Shadowed(new Rect(val.x - num4 * 0.85f, val.y - num4 * 0.05f, num4 * 1.7f, num4 * 0.8f), text2, sCenterSmall); } GUI.color = Color.white; } private void DrawCenterButton(Vector2 c, float centreR, float H) { //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0154: 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_0160: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0187: 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_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01b9: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: 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_0217: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_022f: Unknown result type (might be due to invalid IL or missing references) //IL_024b: 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_02dd: Unknown result type (might be due to invalid IL or missing references) //IL_02c5: Unknown result type (might be due to invalid IL or missing references) //IL_02e2: 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_032f: Expected O, but got Unknown //IL_036d: Unknown result type (might be due to invalid IL or missing references) //IL_0377: Unknown result type (might be due to invalid IL or missing references) //IL_038c: Unknown result type (might be due to invalid IL or missing references) //IL_039b: Unknown result type (might be due to invalid IL or missing references) //IL_03a2: Unknown result type (might be due to invalid IL or missing references) //IL_03a9: Unknown result type (might be due to invalid IL or missing references) //IL_03b5: Unknown result type (might be due to invalid IL or missing references) //IL_03bf: Unknown result type (might be due to invalid IL or missing references) //IL_03d7: Unknown result type (might be due to invalid IL or missing references) //IL_03e6: Unknown result type (might be due to invalid IL or missing references) //IL_0442: Unknown result type (might be due to invalid IL or missing references) //IL_0464: Unknown result type (might be due to invalid IL or missing references) //IL_0479: Unknown result type (might be due to invalid IL or missing references) //IL_0508: Unknown result type (might be due to invalid IL or missing references) //IL_04c2: Unknown result type (might be due to invalid IL or missing references) //IL_04cc: Unknown result type (might be due to invalid IL or missing references) //IL_04f7: Unknown result type (might be due to invalid IL or missing references) Item item = items[centerItem]; bool flag = hover == centerItem; Color val = (Color)(item.disabled ? new Color(0.45f, 0.45f, 0.45f) : item.color); float num = centreR * 0.82f * (flag ? Mathf.Lerp(1f, 1.1f, hoverAnim) : 1f); if (flag) { Disc(texGlow, c, num * 2f, new Color(val.r, val.g, val.b, 0.5f * hoverAnim)); } Disc(texDisc, c, num, new Color(0.05f, 0.05f, 0.08f, 0.95f)); Disc(texDisc, c, num * 0.84f, new Color(val.r * 0.3f, val.g * 0.3f, val.b * 0.3f, flag ? 0.95f : 0.8f)); Disc(texRing, c, num, new Color(val.r, val.g, val.b, flag ? 1f : 0.65f)); Disc(texRing, c, num * 0.86f, new Color(val.r, val.g, val.b, 0.18f)); GUI.color = Color.white; Shadowed(new Rect(c.x - num, c.y - num * 0.5f, num * 2f, num * 0.55f), "<color=#" + ColorUtility.ToHtmlStringRGB(Color.Lerp(val, Color.white, 0.35f)) + ">" + item.label + "</color>", sCenterName); if (!string.IsNullOrEmpty(item.sub)) { GUI.color = new Color(1f, 1f, 1f, 0.75f); Shadowed(new Rect(c.x - num * 0.9f, c.y + num * 0.05f, num * 1.8f, num * 0.45f), item.sub, sCenterSmall); } float num2 = H * 0.235f; float num3 = H * 0.055f; float num4 = H * 0.46f; float num5 = c.y + num2 + num3 + H * 0.075f; if (drawUnder != null) { GUI.color = Color.white; drawUnder(num5); num5 += underHeight; } Color val2 = ((hover >= 0) ? items[hover].color : idleColor); string text = ((hover >= 0) ? items[hover].detail : idleDetail); float num6 = (string.IsNullOrEmpty(text) ? 0f : sSmall.CalcHeight(new GUIContent(text), num4 * 0.94f)); float num7 = H * 0.044f + num6; num5 = Mathf.Min(num5, H - num7 - H * 0.01f); GUI.color = new Color(0f, 0f, 0f, 0.6f); GUI.DrawTexture(new Rect(c.x - num4 * 0.5f, num5, num4, num7), (Texture)(object)texPixel); GUI.color = new Color(val2.r, val2.g, val2.b, 0.85f); GUI.DrawTexture(new Rect(c.x - num4 * 0.5f, num5, num4, 2f), (Texture)(object)texPixel); GUI.color = Color.white; string text2 = ((hover >= 0) ? items[hover].label : idleTitle); string text3 = ((hover >= 0) ? items[hover].detail : idleDetail); Shadowed(new Rect(c.x - num4 * 0.5f, num5 + H * 0.006f, num4, H * 0.03f), "<color=#" + ColorUtility.ToHtmlStringRGB(val2) + ">" + text2 + "</color>", sName); if (!string.IsNullOrEmpty(text3)) { GUI.color = new Color(1f, 1f, 1f, 0.82f); Shadowed(new Rect(c.x - num4 * 0.47f, num5 + H * 0.034f, num4 * 0.94f, num7 - H * 0.036f), text3, sSmall); } GUI.color = Color.white; } } public class ResourceHud : MonoBehaviour { private class Mote { public RectTransform r; public Image img; public float age; public float life; public float x; public float rise; public float size; public float drift; } [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static Predicate<Mote> <>9__47_0; public static hook_Awake <>9__48_0; internal bool <UpdateMotes>b__47_0(Mote q) { return q.age >= q.life; } internal void <InstallHooks>b__48_0(orig_Awake orig, HUD self) { orig.Invoke(self); ((Component)self).gameObject.AddComponent<ResourceHud>().hud = self; } } private const float BarHeight = 22f; private const float PanelHeight = 30f; private const float Gap = 4f; private const float GlowPad = 9f; private HUD hud; private GameObject root; private RectTransform fill; private RectTransform reservedFill; private RectTransform xpFill; private Image fillImage; private Image xpImage; private Image formStripe; private Text label; private Text formName; private Text formInfo; private Text abilityText; private GameObject formPanel; private RectTransform ticks; private int tickCount = -1; private float shownFraction; private float shownXp; private float glowLevel; private Image glowImage; private Image shimmerImage; private Image tipImage; private Image rimImage; private RawImage flowImage; private RectTransform tip; private RectTransform motesRoot; private readonly List<Mote> motes = new List<Mote>(); private float moteTimer; private static Texture2D flowTex; private RectTransform shimmer; private static Sprite softRect; private static Sprite softBand; private static Sprite roundRect; private static Sprite roundFill; private static Sprite diamond; private Image formAccent; private Image formEmblem; private Image formGlow; private Image formRim; private RectTransform formRow; public static Func<RectTransform> extraSkillIcon; public static readonly List<Func<RectTransform>> extraSkillIcons = new List<Func<RectTransform>>(); private RectTransform nameRect; private RectTransform infoRect; private bool twoLines; private const float LineH = 22.5f; private const float TwoLineHeight = 50f; private readonly Vector3[] corners = (Vector3[])(object)new Vector3[4]; private float DesignHeight { get { if (!twoLines) { return 30f; } return 50f; } } private static void EnsureSprites() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Expected O, but got Unknown //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Expected O, but got Unknown //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)softRect)) { Texture2D val = new Texture2D(48, 48, (TextureFormat)4, false) { wrapMode = (TextureWrapMode)1 }; for (int i = 0; i < 48; i++) { for (int j = 0; j < 48; j++) { float num = Mathf.Max(0, Mathf.Max(18 - j, j - 29)); float num2 = Mathf.Max(0, Mathf.Max(18 - i, i - 29)); float num3 = Mathf.Sqrt(num * num + num2 * num2) / 18f; float num4 = Mathf.Pow(Mathf.Clamp01(1f - num3), 2f); val.SetPixel(j, i, new Color(1f, 1f, 1f, num4)); } } val.Apply(); softRect = Sprite.Create(val, new Rect(0f, 0f, 48f, 48f), new Vector2(0.5f, 0.5f), 100f, 0u, (SpriteMeshType)0, new Vector4(18f, 18f, 18f, 18f)); } if (Object.op_Implicit((Object)(object)softBand)) { return; } Texture2D val2 = new Texture2D(32, 4, (TextureFormat)4, false) { wrapMode = (TextureWrapMode)1 }; for (int k = 0; k < 32; k++) { float num5 = ((float)k - 15.5f) / 15.5f; float num6 = Mathf.Exp((0f - num5) * num5 * 4f); for (int l = 0; l < 4; l++) { val2.SetPixel(k, l, new Color(1f, 1f, 1f, num6)); } } val2.Apply(); softBand = Sprite.Create(val2, new Rect(0f, 0f, 32f, 4f), new Vector2(0.5f, 0.5f)); } private static void EnsurePanelSprites() { //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_005d: 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) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Expected O, but got Unknown //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)roundRect)) { return; } Vector4 val = default(Vector4); ((Vector4)(ref val))..ctor(9f, 9f, 9f, 9f); roundRect = Sprite.Create(Make(rim: true), new Rect(0f, 0f, 32f, 32f), new Vector2(0.5f, 0.5f), 100f, 0u, (SpriteMeshType)0, val); roundFill = Sprite.Create(Make(rim: false), new Rect(0f, 0f, 32f, 32f), new Vector2(0.5f, 0.5f), 100f, 0u, (SpriteMeshType)0, val); Texture2D val2 = new Texture2D(32, 32, (TextureFormat)4, false) { wrapMode = (TextureWrapMode)1 }; for (int i = 0; i < 32; i++) { for (int j = 0; j < 32; j++) { float num = Mathf.Abs((float)j + 0.5f - 16f) + Mathf.Abs((float)i + 0.5f - 16f); float num2 = Mathf.Clamp01(15.5f - num + 0.5f); float num3 = Mathf.Clamp01(10f - num); val2.SetPixel(j, i, new Color(1f, 1f, 1f, Mathf.Max(num2 * ((num > 11.5f) ? 1f : 0.25f), num3))); } } val2.Apply(); diamond = Sprite.Create(val2, new Rect(0f, 0f, 32f, 32f), new Vector2(0.5f, 0.5f)); static Texture2D Make(bool rim) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Expected O, but got Unknown //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) Texture2D val3 = new Texture2D(32, 32, (TextureFormat)4, false) { wrapMode = (TextureWrapMode)1, filterMode = (FilterMode)1 }; for (int k = 0; k < 32; k++) { for (int l = 0; l < 32; l++) { float num4 = Mathf.Clamp((float)l + 0.5f, 8f, 24f); float num5 = Mathf.Clamp((float)k + 0.5f, 8f, 24f); float num6 = Mathf.Sqrt(((float)l + 0.5f - num4) * ((float)l + 0.5f - num4) + ((float)k + 0.5f - num5) * ((float)k + 0.5f - num5)); float num7 = Mathf.Clamp01(8f - num6 + 0.5f); if (!rim) { val3.SetPixel(l, k, new Color(1f, 1f, 1f, num7)); } else { float num8 = Mathf.Max(Mathf.Clamp01(1.6f - Mathf.Abs(6.8f - num6)) * ((num6 > 5f) ? 1f : 0f), (l < 1 || k < 1 || l > 30 || k > 30) ? 1f : 0f) * num7; val3.SetPixel(l, k, new Color(1f, 1f, 1f, num8)); } } } val3.Apply(); return val3; } } private static Texture2D FlowTexture() { //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) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_00f1: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)flowTex)) { return flowTex; } flowTex = new Texture2D(128, 32, (TextureFormat)4, false) { wrapMode = (TextureWrapMode)0, filterMode = (FilterMode)1 }; for (int i = 0; i < 32; i++) { for (int j = 0; j < 128; j++) { float num = (float)j / 128f * MathF.PI * 2f; float num2 = (float)i / 32f; float num3 = 0f; for (int k = 0; k < 3; k++) { float num4 = 0.5f + 0.32f * Mathf.Sin(num * (float)(k + 1) + (float)k * 2.1f); float num5 = Mathf.Abs(num2 - num4) / (0.06f + 0.03f * (float)k); num3 = Mathf.Max(num3, Mathf.Exp((0f - num5) * num5) * (0.9f - 0.2f * (float)k)); } flowTex.SetPixel(j, i, new Color(1f, 1f, 1f, num3)); } } flowTex.Apply(); return flowTex; } private void UpdateMotes(float level, float frac, float barW, Color c, float dt) { //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_0241: 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_0260: Unknown result type (might be due to invalid IL or missing references) //IL_0271: Unknown result type (might be due to invalid IL or missing references) //IL_0287: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: 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_00db: Unknown result type (might be due to invalid IL or missing references) if (level > 0.05f) { moteTimer -= dt * (6f + 18f * level); Vector2 val3 = default(Vector2); while (moteTimer <= 0f) { moteTimer += 1f; Mote mote = motes.Find((Mote q) => q.age >= q.life); if (mote == null && motes.Count < 28) { RectTransform val = Rect("Mote", (Transform)(object)motesRoot); Image val2 = ((Component)val).gameObject.AddComponent<Image>(); val2.sprite = softRect; ((Graphic)val2).raycastTarget = false; ((Vector2)(ref val3))..ctor(0f, 0f); val.anchorMax = val3; val.anchorMin = val3; val.pivot = new Vector2(0.5f, 0.5f); mote = new Mote { r = val, img = val2 }; motes.Add(mote); } if (mote == null) { break; } mote.age = 0f; mote.life = Random.Range(0.45f, 0.9f); mote.x = Random.Range(0.02f, Mathf.Max(0.03f, frac)) * barW; mote.rise = Random.Range(10f, 26f); mote.size = Random.Range(3f, 7f); mote.drift = Random.Range(-6f, 6f); } } foreach (Mote mote2 in motes) { if (mote2.age >= mote2.life) { ((Behaviour)mote2.img).enabled = false; continue; } mote2.age += dt; float num = Mathf.Clamp01(mote2.age / mote2.life); ((Behaviour)mote2.img).enabled = true; mote2.r.anchoredPosition = new Vector2(mote2.x + mote2.drift * num, -7.7f + mote2.rise * num); mote2.r.sizeDelta = Vector2.one * mote2.size * (1f - 0.5f * num); ((Graphic)mote2.img).color = new Color(Mathf.Lerp(c.r, 1f, 0.5f), Mathf.Lerp(c.g, 1f, 0.5f), Mathf.Lerp(c.b, 1f, 0.5f), Mathf.Sin(num * MathF.PI) * 0.9f); } } internal static void InstallHooks() { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Expected O, but got Unknown object obj = <>c.<>9__48_0; if (obj == null) { hook_Awake val = delegate(orig_Awake orig, HUD self) { orig.Invoke(self); ((Component)self).gameObject.AddComponent<ResourceHud>().hud = self; }; <>c.<>9__48_0 = val; obj = (object)val; } HUD.Awake += (hook_Awake)obj; } private static Font GetFont() { Font val = null; try { val = Resources.GetBuiltinResource<Font>("Arial.ttf"); } catch { } if (!Object.op_Implicit((Object)(object)val)) { try { val = Resources.GetBuiltinResource<Font>("LegacyRuntime.ttf"); } catch { } } return val; } private static RectTransform Rect(string name, Transform parent) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown RectTransform val = (RectTransform)new GameObject(name, new Type[1] { typeof(RectTransform) }).transform; ((Transform)val).SetParent(parent, false); return val; } private static RectTransform Stretch(RectTransform r, float l, float b, float rr, float t) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) r.anchorMin = Vector2.zero; r.anchorMax = Vector2.one; r.offsetMin = new Vector2(l, b); r.offsetMax = new Vector2(0f - rr, 0f - t); return r; } private void Build() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01fd: Unknown result type (might be due to invalid IL or missing references) //IL_025e: Unknown result type (might be due to invalid IL or missing references) //IL_028d: Unknown result type (might be due to invalid IL or missing references) //IL_02a3: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: Unknown result type (might be due to invalid IL or missing references) //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Unknown result type (might be due to invalid IL or missing references) //IL_0305: 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_03af: Unknown result type (might be due to invalid IL or missing references) //IL_0415: Unknown result type (might be due to invalid IL or missing references) //IL_0420: Unknown result type (might be due to invalid IL or missing references) //IL_042c: 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) //IL_0432: 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_045e: Unknown result type (might be due to invalid IL or missing references) //IL_04ec: Unknown result type (might be due to invalid IL or missing references) //IL_051c: Unknown result type (might be due to invalid IL or missing references) //IL_0536: Unknown result type (might be due to invalid IL or missing references) //IL_0550: Unknown result type (might be due to invalid IL or missing references) //IL_059a: Unknown result type (might be due to invalid IL or missing references) //IL_066b: Unknown result type (might be due to invalid IL or missing references) //IL_06a4: Unknown result type (might be due to invalid IL or missing references) //IL_06ab: Unknown result type (might be due to invalid IL or missing references) //IL_06c2: Unknown result type (might be due to invalid IL or missing references) //IL_06dc: Unknown result type (might be due to invalid IL or missing references) //IL_074e: Unknown result type (might be due to invalid IL or missing references) //IL_077a: Unknown result type (might be due to invalid IL or missing references) //IL_0794: Unknown result type (might be due to invalid IL or missing references) //IL_07ae: Unknown result type (might be due to invalid IL or missing references) //IL_07be: Unknown result type (might be due to invalid IL or missing references) //IL_07eb: Unknown result type (might be due to invalid IL or missing references) //IL_0809: Expected O, but got Unknown //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0868: Unknown result type (might be due to invalid IL or missing references) //IL_087e: Unknown result type (might be due to invalid IL or missing references) //IL_0894: Unknown result type (might be due to invalid IL or missing references) //IL_08aa: Unknown result type (might be due to invalid IL or missing references) //IL_08c0: Unknown result type (might be due to invalid IL or missing references) //IL_099c: Unknown result type (might be due to invalid IL or missing references) //IL_0a37: Unknown result type (might be due to invalid IL or missing references) //IL_0a4d: Unknown result type (might be due to invalid IL or missing references) //IL_0a63: Unknown result type (might be due to invalid IL or miss