using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using HarmonyLib; using PluginConfig.API; using PluginConfig.API.Fields; using TMPro; using UnityEngine; using UnityEngine.UI; using namjainapananan.ukmod_unretro_styleindicator.src; using namjainapananan.ukmod_unretro_styleindicator.src.unretrostylehud_components; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("ukmod_unretro_styleindicator")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("ukmod_unretro_styleindicator")] [assembly: AssemblyCopyright("Copyright © 2026")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("aa6fff83-2908-4304-b1bc-b899e8ad63cb")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.1", FrameworkDisplayName = ".NET Framework 4.7.1")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace namjainapananan.ukmod_unretro_styleindicator { [StructLayout(LayoutKind.Sequential, Size = 1)] public struct PluginInfo { public const string guid = "namjainapananan.ukmod_unretro_styleindicator"; public const string name = "Unretro Style Indicator"; public const string version = "1.0.0"; } public class PluginConfigVar { public BoolField enabledHitmarker; public BoolField enabledScoreFeed; public BoolField enabledFreshnessMultiplier; public PluginConfigVar(PluginConfigurator config) { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Expected O, but got Unknown //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Expected O, but got Unknown enabledHitmarker = new BoolField(config.rootPanel, "Hitmarker Enabled", "enabledHitmarker", true); enabledScoreFeed = new BoolField(config.rootPanel, "Score Feed Enabled", "enabledScoreFeed", true); enabledFreshnessMultiplier = new BoolField(config.rootPanel, "Freshness Multiplier Enabled", "enabledFreshnessMultiplier", true); } } [BepInPlugin("namjainapananan.ukmod_unretro_styleindicator", "Unretro Style Indicator", "1.0.0")] public class Plugin : BaseUnityPlugin { public static PluginConfigVar configVar; private void Awake() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Expected O, but got Unknown PluginConfigurator config = PluginConfigurator.Create("Unretro Style Indicator", "namjainapananan.ukmod_unretro_styleindicator"); configVar = new PluginConfigVar(config); Harmony val = new Harmony("namjainapananan.ukmod_unretro_styleindicator"); val.PatchAll(); } } } namespace namjainapananan.ukmod_unretro_styleindicator.src { public class UnretroStyleHUD : MonoSingleton { public ScoreFeed scoreFeed; public ScoreMultiplier scoreMultiplier; public Hitmarker hitmarker; private void Awake() { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Expected O, but got Unknown //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Expected O, but got Unknown //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: 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_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Expected O, but got Unknown //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Expected O, but got Unknown //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Expected O, but got Unknown Plugin.configVar.enabledHitmarker.onValueChange += (BoolValueChangeEventDelegate)delegate { UpdateSettings(); }; Plugin.configVar.enabledScoreFeed.onValueChange += (BoolValueChangeEventDelegate)delegate { UpdateSettings(); }; Plugin.configVar.enabledFreshnessMultiplier.onValueChange += (BoolValueChangeEventDelegate)delegate { UpdateSettings(); }; Canvas val = ((Component)this).gameObject.AddComponent(); val.renderMode = (RenderMode)0; ((Component)this).transform.localScale = Vector3.one * 0.001f; ((Component)this).transform.SetLocalPositionAndRotation(new Vector3(0f, 0f, 1f), Quaternion.identity); CanvasScaler val2 = ((Component)this).gameObject.AddComponent(); val2.uiScaleMode = (ScaleMode)1; val2.referenceResolution = new Vector2(1920f, 1080f); val2.matchWidthOrHeight = 0.5f; GameObject val3 = new GameObject("Score Feed"); val3.transform.SetParent(((Component)this).transform, false); scoreFeed = val3.AddComponent(); GameObject val4 = new GameObject("Score Multiplier"); val4.transform.SetParent(((Component)this).transform, false); scoreMultiplier = val4.AddComponent(); GameObject val5 = new GameObject("Hitmarker"); val5.transform.SetParent(((Component)this).transform, false); hitmarker = val5.AddComponent(); } private void UpdateSettings() { ((Component)scoreFeed).gameObject.SetActive(Plugin.configVar.enabledScoreFeed.value); ((Component)scoreMultiplier).gameObject.SetActive(Plugin.configVar.enabledFreshnessMultiplier.value); ((Component)hitmarker).gameObject.SetActive(Plugin.configVar.enabledHitmarker.value); } } } namespace namjainapananan.ukmod_unretro_styleindicator.src.unretrostylehud_components { public class Hitmarker : MonoBehaviour { [CompilerGenerated] private sealed class d__9 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public float enterDuration; public float lifeTime; public float exitDuration; public Color color; public Hitmarker <>4__this; private float 5__1; private float 5__2; private bool 5__3; private bool 5__4; private bool 5__5; private float 5__6; private float 5__7; private float 5__8; private float 5__9; private float 5__10; private float 5__11; private float 5__12; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__9(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //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) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>4__this.hitmarkerColor = color; 5__1 = enterDuration + lifeTime + exitDuration; 5__2 = 0f; break; case 1: <>1__state = -1; break; } if (5__2 <= 5__1) { 5__2 += Time.unscaledDeltaTime; 5__3 = 5__2 <= enterDuration; 5__4 = 5__2 > enterDuration && 5__2 <= 5__1 - exitDuration; 5__5 = 5__2 >= 5__1 - exitDuration; if (5__3) { 5__6 = 5__2 / enterDuration; 5__7 = Mathf.SmoothStep(0f, 1f, 5__6); <>4__this.hitmarkerAlpha = 1f; <>4__this.distanceFromCenter = Mathf.Lerp(60f, 40f, 5__7); <>4__this.stickLength = Mathf.Lerp(25f, 10f, 5__7); } if (5__4) { 5__8 = 5__2 - enterDuration; 5__9 = 5__8 / lifeTime; } if (5__5) { 5__10 = 5__2 - (enterDuration + lifeTime); 5__11 = 5__10 / exitDuration; 5__12 = Mathf.SmoothStep(0f, 1f, 5__11); <>4__this.hitmarkerAlpha = Mathf.Lerp(1f, 0f, 5__11); <>4__this.distanceFromCenter = Mathf.Lerp(40f, 50f, 5__12); <>4__this.stickLength = Mathf.Lerp(10f, 25f, 5__12); } <>4__this.UpdateHitmarkerSticks(); <>2__current = null; <>1__state = 1; return true; } return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } public float stickWidth = 3f; public float stickLength = 30f; public float distanceFromCenter = 50f; public float hitmarkerAlpha; public Color hitmarkerColor = Color.white; private List hmSticksOBJs = new List(); private Coroutine activeAnimation; public void HitEnemy(bool kill) { //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) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0036: 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) if (activeAnimation != null) { ((MonoBehaviour)this).StopCoroutine(activeAnimation); activeAnimation = null; } float num = 1f; Color color = Color.white; if (kill) { color = Color.red; num = 2f; } activeAnimation = ((MonoBehaviour)this).StartCoroutine(HitAnimation(0.125f, 0.25f * num, 0.25f, color)); } private void Start() { ConstructHitmarker(); UpdateHitmarkerSticks(); } [IteratorStateMachine(typeof(d__9))] private IEnumerator HitAnimation(float enterDuration, float lifeTime, float exitDuration, Color color) { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__9(0) { <>4__this = this, enterDuration = enterDuration, lifeTime = lifeTime, exitDuration = exitDuration, color = color }; } private void ConstructHitmarker() { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_002e: 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_0050: 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) //IL_008c: Expected O, but got Unknown //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: 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) RectTransform val = ((Component)this).gameObject.AddComponent(); val.anchorMin = new Vector2(0.5f, 0.5f); val.anchorMax = new Vector2(0.5f, 0.5f); val.pivot = new Vector2(0.5f, 0.5f); val.anchoredPosition = Vector2.zero; float[] array = new float[4] { 45f, 135f, 225f, 315f }; for (int i = 0; i < 4; i++) { GameObject val2 = new GameObject("HitmarkerStick_" + i); val2.transform.SetParent(((Component)this).transform, false); RectTransform val3 = val2.AddComponent(); Image val4 = val2.AddComponent(); ((Graphic)val4).color = hitmarkerColor; val3.anchorMin = new Vector2(0.5f, 0.5f); val3.anchorMax = new Vector2(0.5f, 0.5f); val3.pivot = new Vector2(0.5f, 0f); ((Transform)val3).localRotation = Quaternion.Euler(0f, 0f, array[i]); hmSticksOBJs.Add(val2); } } private void UpdateHitmarkerSticks() { //IL_0037: 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_005a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) foreach (GameObject hmSticksOBJ in hmSticksOBJs) { RectTransform component = hmSticksOBJ.GetComponent(); Image component2 = hmSticksOBJ.GetComponent(); component.sizeDelta = new Vector2(stickWidth, stickLength); component.anchoredPosition = new Vector2(0f, 0f); ((Transform)component).localPosition = ((Transform)component).localRotation * new Vector3(0f, distanceFromCenter, 0f); Color color = hitmarkerColor; color.a = hitmarkerAlpha; ((Graphic)component2).color = color; } } } public class ScoreFeed : MonoBehaviour { private void Awake() { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) RectTransform val = ((Component)this).gameObject.AddComponent(); val.pivot = new Vector2(0f, 1f); val.anchoredPosition = new Vector2(60f, -25f); VerticalLayoutGroup val2 = ((Component)this).gameObject.AddComponent(); ((HorizontalOrVerticalLayoutGroup)val2).childControlWidth = true; ((HorizontalOrVerticalLayoutGroup)val2).childControlHeight = true; ((HorizontalOrVerticalLayoutGroup)val2).childForceExpandWidth = false; ((HorizontalOrVerticalLayoutGroup)val2).childForceExpandHeight = false; ((LayoutGroup)val2).childAlignment = (TextAnchor)3; ContentSizeFitter val3 = ((Component)this).gameObject.AddComponent(); val3.verticalFit = (FitMode)2; } public void SpawnFeed(int points, string pointID, int count, string prefix, string postfix) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown GameObject val = new GameObject(pointID, new Type[1] { typeof(ScoreFeedElement) }); ScoreFeedElement component = val.GetComponent(); component.Prepare(points, pointID, count, prefix, postfix); val.transform.SetParent(((Component)this).transform, false); val.transform.SetAsFirstSibling(); } } public class ScoreFeedElement : MonoBehaviour { [CompilerGenerated] private sealed class d__10 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public ScoreFeedElement <>4__this; private int 5__1; private float 5__2; private float 5__3; private float 5__4; private float 5__5; private float 5__6; private float 5__7; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__10(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Expected O, but got Unknown //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Expected O, but got Unknown //IL_01e6: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; 5__1 = 0; goto IL_00a2; case 1: <>1__state = -1; goto IL_00a2; case 2: <>1__state = -1; 5__2 = 0f; 5__3 = <>4__this.rect.anchoredPosition.x; 5__4 = <>4__this.rect.anchoredPosition.y; break; case 3: { <>1__state = -1; break; } IL_00a2: if (5__1 <= ((TMP_Text)<>4__this.tmpugui).textInfo.characterCount) { ((TMP_Text)<>4__this.tmpugui).maxVisibleCharacters = 5__1; 5__1++; ((TMP_Text)<>4__this.tmpugui).ForceMeshUpdate(false, false); <>2__current = (object)new WaitForSecondsRealtime(<>4__this.timeBetweenChars); <>1__state = 1; return true; } <>2__current = (object)new WaitForSecondsRealtime(<>4__this.lifeTime); <>1__state = 2; return true; } if (5__2 <= <>4__this.fadeDuration) { 5__2 += Time.unscaledDeltaTime; 5__5 = 5__2 / <>4__this.fadeDuration; 5__6 = Mathf.Lerp(1f, 0f, 5__5); 5__7 = Mathf.Lerp(5__3, 5__3 + 25f, 5__5 * 5__5); ((TMP_Text)<>4__this.tmpugui).alpha = 5__6; ((TMP_Text)<>4__this.tmpugui).ForceMeshUpdate(false, false); <>4__this.rect.anchoredPosition = new Vector2(5__7, 5__4); <>2__current = null; <>1__state = 3; return true; } ((TMP_Text)<>4__this.tmpugui).alpha = 0f; ((TMP_Text)<>4__this.tmpugui).ForceMeshUpdate(false, false); return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } private RectTransform rect; private string displayText; private TextMeshProUGUI tmpugui; private float timeBetweenChars = 0.015f; private float lifeTime = 2f; private float fadeDuration = 0.25f; private Coroutine activeFeedAnimation; private void Awake() { LayoutElement val = ((Component)this).gameObject.AddComponent(); val.preferredHeight = 26f; val.flexibleWidth = 1f; tmpugui = ((Component)this).gameObject.AddComponent(); rect = GameObjectExtensions.GetOrAddComponent(((Component)this).gameObject); } public void Prepare(int points, string pointID, int count, string prefix, string postfix) { StyleHUD instance = MonoSingleton.Instance; string localizedName = instance.GetLocalizedName(pointID); displayText = "[" + points + "] " + prefix + localizedName + postfix + ((count > 0) ? (" x" + count) : string.Empty); ((TMP_Text)tmpugui).text = displayText; ((TMP_Text)tmpugui).font = instance.styleInfo.font; ((TMP_Text)tmpugui).fontSize = 24f; ((TMP_Text)tmpugui).alignment = (TextAlignmentOptions)4097; ((TMP_Text)tmpugui).enableWordWrapping = false; } private void Start() { activeFeedAnimation = ((MonoBehaviour)this).StartCoroutine(FeedAnimation()); Object.Destroy((Object)(object)((Component)this).gameObject, 5f); } [IteratorStateMachine(typeof(d__10))] private IEnumerator FeedAnimation() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__10(0) { <>4__this = this }; } } public class ScoreMultiplier : MonoBehaviour { private TextMeshProUGUI tmpugui; private float shakeDelta = 0f; private float decaySpeed = 10f; private float curTextSize = 28f; private float minTextSize = 28f; private Vector2 originalPos = new Vector2(60f, 0f); private RectTransform rectTransform; private Color currentColor = Color.yellow; private float NextDisappearTime; private float alpha = 0f; private void Awake() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) rectTransform = ((Component)this).gameObject.AddComponent(); rectTransform.anchorMin = new Vector2(0.5f, 0.5f); rectTransform.anchorMax = new Vector2(0.5f, 0.5f); rectTransform.pivot = new Vector2(0f, 0.5f); rectTransform.anchoredPosition = originalPos; tmpugui = ((Component)this).gameObject.AddComponent(); } private void Start() { StyleHUD instance = MonoSingleton.Instance; ((TMP_Text)tmpugui).font = instance.styleInfo.font; } private void Update() { //IL_0127: 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_013c: 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_0149: 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_014f: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0059: 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) StyleHUD instance = MonoSingleton.Instance; string text = string.Empty; if (Object.op_Implicit((Object)(object)instance.gc.currentWeapon)) { StyleFreshnessState freshnessState = instance.GetFreshnessState(instance.gc.currentWeapon); UpdateColor(instance, instance.gc.currentWeapon); text = " x " + instance.freshnessStateDict[freshnessState].scoreMultiplier.ToString("F1") + ""; } shakeDelta = Mathf.MoveTowards(shakeDelta, 0f, Time.deltaTime * decaySpeed * 0.5f); curTextSize = Mathf.Lerp(curTextSize, minTextSize, Time.deltaTime * decaySpeed); ((TMP_Text)tmpugui).alignment = (TextAlignmentOptions)4097; ((TMP_Text)tmpugui).text = text; ((TMP_Text)tmpugui).fontSize = curTextSize; ((TMP_Text)tmpugui).alpha = alpha; Vector2 val = Random.insideUnitCircle * 10f * shakeDelta; rectTransform.anchoredPosition = originalPos + val; } private void UpdateColor(StyleHUD stylehud, GameObject weapon) { //IL_000d: 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_0019: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Invalid comparison between Unknown and I4 //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Invalid comparison between Unknown and I4 //IL_0064: 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) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Invalid comparison between Unknown and I4 //IL_0087: 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_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00af: 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_00bb: Unknown result type (might be due to invalid IL or missing references) StyleFreshnessState freshnessState = stylehud.GetFreshnessState(stylehud.gc.currentWeapon); float max = stylehud.freshnessStateDict[freshnessState].max; float min = stylehud.freshnessStateDict[freshnessState].min; float freshness = stylehud.GetFreshness(stylehud.gc.currentWeapon); float num = 1f - (freshness - min) / (max - min); if ((int)freshnessState == 0) { currentColor = Color.Lerp(Color.yellow, Color.red, num); } if ((int)freshnessState == 1) { currentColor = Color.Lerp(Color.red, Color.gray, num); } if ((int)freshnessState == 1) { currentColor = Color.Lerp(Color.gray, Color.black, num); } if (Time.time >= NextDisappearTime) { alpha = Mathf.Lerp(alpha, 0f, Time.unscaledDeltaTime * 10f); } else { alpha = 1f; } } public void TriggerAnim() { shakeDelta = 1f; curTextSize += 5f; NextDisappearTime = Time.time + 2f; } } } namespace namjainapananan.ukmod_unretro_styleindicator.patches.styleHUD { [HarmonyPatch(typeof(StyleHUD), "Awake")] internal class SpawnNewHUDObject { private static void Postfix(StyleHUD __instance) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Expected O, but got Unknown GameObject val = new GameObject("Un-retro Style HUD", new Type[1] { typeof(UnretroStyleHUD) }); val.layer = ((Component)__instance).gameObject.layer; val.transform.SetParent(((Component)__instance).transform.parent, false); } } [HarmonyPatch(typeof(StyleHUD), "AddPoints")] internal class TriggerStuff { private static void Postfix(StyleHUD __instance, int points, string pointID, GameObject sourceWeapon = null, EnemyIdentifier eid = null, int count = -1, string prefix = "", string postfix = "") { if ((Object)(object)sourceWeapon != (Object)null && (Object)(object)eid != (Object)null) { if (Plugin.configVar.enabledHitmarker.value) { MonoSingleton.Instance.hitmarker.HitEnemy(eid.health < 2f); } if (Plugin.configVar.enabledFreshnessMultiplier.value) { MonoSingleton.Instance.scoreMultiplier.TriggerAnim(); } } if (__instance.GetLocalizedName(pointID) != string.Empty && Plugin.configVar.enabledScoreFeed.value) { MonoSingleton.Instance.scoreFeed.SpawnFeed(points, pointID, count, prefix, postfix); } } } }