RUMBLE does not support other mod managers. If you want to use a manager, you must use the RUMBLE Mod Manager, a manager specifically designed for this game.
Decompiled source of DamageNumbers v2.2.0
Mods/DamageNumbers.dll
Decompiled a month agousing 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 DamageNumbers; using Il2CppRUMBLE.Managers; using Il2CppRUMBLE.Utilities; using Il2CppTMPro; using MelonLoader; using RumbleModdingAPI; using UnityEngine; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: MelonInfo(typeof(main), "DamageNumbers", "2.2.0", "UlvakSkillz", null)] [assembly: MelonGame("Buckethead Entertainment", "RUMBLE")] [assembly: MelonColor(255, 195, 0, 255)] [assembly: MelonAuthorColor(255, 195, 0, 255)] [assembly: VerifyLoaderVersion(0, 6, 2, true)] [assembly: AssemblyTitle("DamageNumbers")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DamageNumbers")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("f6144130-bb99-4232-8aa6-d721c7b07821")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] namespace DamageNumbers; public class main : MelonMod { [CompilerGenerated] private sealed class <HealthWatcher>d__8 : IEnumerator<object>, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public int sceneNumber; public main <>4__this; private int <i>5__1; private int <i>5__2; private int <i>5__3; private string <damage>5__4; private Color <color>5__5; private int <>s__6; private int <x>5__7; private Transform <playerTransform>5__8; private GameObject <damageNumber>5__9; private TextMeshPro <damageNumberText>5__10; private Exception <e>5__11; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <HealthWatcher>d__8(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <damage>5__4 = null; <playerTransform>5__8 = null; <damageNumber>5__9 = null; <damageNumberText>5__10 = null; <e>5__11 = null; <>1__state = -2; } private bool MoveNext() { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Expected O, but got Unknown //IL_0a15: Unknown result type (might be due to invalid IL or missing references) //IL_0a1f: Expected O, but got Unknown //IL_0203: Unknown result type (might be due to invalid IL or missing references) //IL_0208: Unknown result type (might be due to invalid IL or missing references) //IL_02cd: Unknown result type (might be due to invalid IL or missing references) //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_0301: Unknown result type (might be due to invalid IL or missing references) //IL_032b: Unknown result type (might be due to invalid IL or missing references) //IL_0330: Unknown result type (might be due to invalid IL or missing references) //IL_035a: Unknown result type (might be due to invalid IL or missing references) //IL_035f: Unknown result type (might be due to invalid IL or missing references) //IL_0389: Unknown result type (might be due to invalid IL or missing references) //IL_038e: Unknown result type (might be due to invalid IL or missing references) //IL_03b8: Unknown result type (might be due to invalid IL or missing references) //IL_03bd: Unknown result type (might be due to invalid IL or missing references) //IL_03e7: Unknown result type (might be due to invalid IL or missing references) //IL_03ec: Unknown result type (might be due to invalid IL or missing references) //IL_0416: Unknown result type (might be due to invalid IL or missing references) //IL_041b: Unknown result type (might be due to invalid IL or missing references) //IL_0445: Unknown result type (might be due to invalid IL or missing references) //IL_044a: Unknown result type (might be due to invalid IL or missing references) //IL_0474: 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_04a3: Unknown result type (might be due to invalid IL or missing references) //IL_04a8: Unknown result type (might be due to invalid IL or missing references) //IL_04d2: Unknown result type (might be due to invalid IL or missing references) //IL_04d7: Unknown result type (might be due to invalid IL or missing references) //IL_0501: Unknown result type (might be due to invalid IL or missing references) //IL_0506: Unknown result type (might be due to invalid IL or missing references) //IL_0530: Unknown result type (might be due to invalid IL or missing references) //IL_0535: Unknown result type (might be due to invalid IL or missing references) //IL_055f: Unknown result type (might be due to invalid IL or missing references) //IL_0564: Unknown result type (might be due to invalid IL or missing references) //IL_058e: Unknown result type (might be due to invalid IL or missing references) //IL_0593: Unknown result type (might be due to invalid IL or missing references) //IL_05bd: Unknown result type (might be due to invalid IL or missing references) //IL_05c2: Unknown result type (might be due to invalid IL or missing references) //IL_05ec: Unknown result type (might be due to invalid IL or missing references) //IL_05f1: Unknown result type (might be due to invalid IL or missing references) //IL_0618: Unknown result type (might be due to invalid IL or missing references) //IL_061d: Unknown result type (might be due to invalid IL or missing references) //IL_0644: Unknown result type (might be due to invalid IL or missing references) //IL_0649: Unknown result type (might be due to invalid IL or missing references) //IL_0712: Unknown result type (might be due to invalid IL or missing references) //IL_0722: Unknown result type (might be due to invalid IL or missing references) //IL_0738: Unknown result type (might be due to invalid IL or missing references) //IL_0742: Unknown result type (might be due to invalid IL or missing references) //IL_078d: Unknown result type (might be due to invalid IL or missing references) //IL_0809: Unknown result type (might be due to invalid IL or missing references) //IL_0822: Unknown result type (might be due to invalid IL or missing references) //IL_07c2: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(3f); <>1__state = 1; return true; case 1: <>1__state = -1; <>4__this.playerCount = Singleton<PlayerManager>.instance.AllPlayers.Count; <>4__this.healths = new int[<>4__this.playerCount]; <i>5__1 = 0; while (<i>5__1 < <>4__this.playerCount) { <>4__this.healths[<i>5__1] = Singleton<PlayerManager>.instance.AllPlayers[<i>5__1].Data.HealthPoints; <i>5__1++; } break; case 2: <>1__state = -1; break; } if (sceneNumber == <>4__this.sceneCount) { if (!<>4__this.waitForMatchStart) { try { if (<>4__this.playerCount != Singleton<PlayerManager>.instance.AllPlayers.Count) { <>4__this.healths = new int[<>4__this.playerCount]; <i>5__2 = 0; while (<i>5__2 < <>4__this.playerCount) { <>4__this.healths[<i>5__2] = Singleton<PlayerManager>.instance.AllPlayers[<i>5__2].Data.HealthPoints; <i>5__2++; } } <i>5__3 = 0; while (<i>5__3 < <>4__this.playerCount) { if (<>4__this.healths[<i>5__3] > Singleton<PlayerManager>.instance.AllPlayers[<i>5__3].Data.HealthPoints) { <damage>5__4 = ""; <color>5__5 = Color.black; int num = <>4__this.healths[<i>5__3] - Singleton<PlayerManager>.instance.AllPlayers[<i>5__3].Data.HealthPoints; <>s__6 = num; switch (<>s__6) { case 1: <damage>5__4 = "1"; <color>5__5 = new Color(83f / 85f, 50f / 51f, 0.64705884f, 1f); break; case 2: <damage>5__4 = "2"; <color>5__5 = new Color(0.99607843f, 76f / 85f, 0.34901962f, 1f); break; case 3: <damage>5__4 = "3"; <color>5__5 = new Color(0.99607843f, 56f / 85f, 0.015686275f, 1f); break; case 4: <damage>5__4 = "4"; <color>5__5 = new Color(0.9843137f, 0.41960785f, 0.16862746f, 1f); break; case 5: <damage>5__4 = "5"; <color>5__5 = new Color(50f / 51f, 21f / 85f, 0.29803923f, 1f); break; case 6: <damage>5__4 = "6"; <color>5__5 = new Color(0.96862745f, 0f, 29f / 51f, 1f); break; case 7: <damage>5__4 = "7"; <color>5__5 = new Color(0.3529412f, 37f / 85f, 1f, 1f); break; case 8: <damage>5__4 = "8"; <color>5__5 = new Color(19f / 85f, 0.52156866f, 29f / 85f, 1f); break; case 9: <damage>5__4 = "9"; <color>5__5 = new Color(1f, 0f, 1f, 1f); break; case 10: <damage>5__4 = "10"; <color>5__5 = new Color(1f, 0f, 1f, 1f); break; case 11: <damage>5__4 = "11"; <color>5__5 = new Color(1f, 0f, 1f, 1f); break; case 12: <damage>5__4 = "12"; <color>5__5 = new Color(1f, 0f, 1f, 1f); break; case 13: <damage>5__4 = "13"; <color>5__5 = new Color(1f, 0f, 1f, 1f); break; case 14: <damage>5__4 = "14"; <color>5__5 = new Color(1f, 0f, 1f, 1f); break; case 15: <damage>5__4 = "15"; <color>5__5 = new Color(1f, 0f, 1f, 1f); break; case 16: <damage>5__4 = "16"; <color>5__5 = new Color(1f, 0f, 1f, 1f); break; case 17: <damage>5__4 = "17"; <color>5__5 = new Color(1f, 0f, 1f, 1f); break; case 18: <damage>5__4 = "18"; <color>5__5 = new Color(1f, 0f, 1f, 1f); break; case 19: <damage>5__4 = "19"; <color>5__5 = new Color(1f, 0f, 1f, 1f); break; case 20: <damage>5__4 = "20"; <color>5__5 = new Color(1f, 0f, 1f, 1f); break; } if (<damage>5__4 != "") { <x>5__7 = 5; if (<i>5__3 > 0) { <x>5__7++; } <playerTransform>5__8 = ((Component)((Component)Singleton<PlayerManager>.instance.AllPlayers[<i>5__3].Controller).gameObject.transform.GetChild(2).GetChild(0).GetChild(0)).gameObject.transform; <damageNumber>5__9 = Create.NewText(); ((Object)<damageNumber>5__9).name = <damage>5__4 + " Damage"; <damageNumber>5__9.transform.position = new Vector3(<playerTransform>5__8.position.x, <playerTransform>5__8.position.y + 1f, <playerTransform>5__8.position.z); <damageNumber>5__9.transform.rotation = ((Component)((Component)Singleton<PlayerManager>.instance.localPlayer.Controller).gameObject.transform.GetChild(2).GetChild(0).GetChild(0)).gameObject.transform.localRotation; if (<x>5__7 == 1) { <damageNumber>5__9.transform.localScale = new Vector3(0.75f, 0.75f, 0.75f); } <damageNumberText>5__10 = <damageNumber>5__9.GetComponent<TextMeshPro>(); ((TMP_Text)<damageNumberText>5__10).fontSize = 12f; ((TMP_Text)<damageNumberText>5__10).text = <damage>5__4; ((Graphic)<damageNumberText>5__10).color = <color>5__5; ((TMP_Text)<damageNumberText>5__10).SetOutlineColor(new Color32((byte)0, (byte)0, (byte)0, byte.MaxValue)); ((TMP_Text)<damageNumberText>5__10).outlineWidth = 0.5f; MelonCoroutines.Start(<>4__this.MoveNumber(<damageNumber>5__9, sceneNumber, <i>5__3)); if (<>4__this.healths[<i>5__3] - Singleton<PlayerManager>.instance.AllPlayers[<i>5__3].Data.HealthPoints > 8) { MelonCoroutines.Start(<>4__this.RainbowColor(<damageNumberText>5__10, sceneNumber)); } Object.Destroy((Object)(object)<damageNumber>5__9, 4f); <playerTransform>5__8 = null; <damageNumber>5__9 = null; <damageNumberText>5__10 = null; } <damage>5__4 = null; } if (<>4__this.healths[<i>5__3] != Singleton<PlayerManager>.instance.AllPlayers[<i>5__3].Data.HealthPoints) { <>4__this.healths[<i>5__3] = Singleton<PlayerManager>.instance.AllPlayers[<i>5__3].Data.HealthPoints; if ((<>4__this.currentScene == "Map0" || <>4__this.currentScene == "Map1") && <>4__this.healths[<i>5__3] <= 0 && !<>4__this.waitForMatchStart) { MelonCoroutines.Start(<>4__this.WaitForMatchStart(<i>5__3, sceneNumber)); } } <i>5__3++; } } catch (Exception ex) { <e>5__11 = ex; } } <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 2; 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(); } } [CompilerGenerated] private sealed class <MoveNumber>d__11 : IEnumerator<object>, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public GameObject damageNumber; public int sceneNumber; public int playerNumber; public main <>4__this; private DateTime <stopMovingTime>5__1; private DateTime <startFadeTime>5__2; private float <moveAmount>5__3; private TextMeshPro <damageNumberText>5__4; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <MoveNumber>d__11(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <damageNumberText>5__4 = null; <>1__state = -2; } private bool MoveNext() { //IL_023b: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Expected O, but got Unknown //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: 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_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_019b: 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_01e6: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_0206: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <stopMovingTime>5__1 = DateTime.Now.AddSeconds(3.9000000953674316); <startFadeTime>5__2 = DateTime.Now.AddSeconds(2.0); <moveAmount>5__3 = 0.16f; <damageNumberText>5__4 = damageNumber.GetComponent<TextMeshPro>(); break; case 1: <>1__state = -1; break; } if (sceneNumber == <>4__this.sceneCount && DateTime.Now < <stopMovingTime>5__1) { try { if (playerNumber != 0) { damageNumber.transform.rotation = <>4__this.GetAngleToFaceMe(damageNumber.transform.position, ((Component)((Component)Singleton<PlayerManager>.instance.localPlayer.Controller).gameObject.transform.GetChild(2).GetChild(0).GetChild(0)).gameObject.transform.position); } else { damageNumber.transform.rotation = ((Component)((Component)Singleton<PlayerManager>.instance.localPlayer.Controller).gameObject.transform.GetChild(2).GetChild(0).GetChild(0)).gameObject.transform.rotation; } if (<moveAmount>5__3 > 0f) { damageNumber.transform.position = new Vector3(damageNumber.transform.position.x, damageNumber.transform.position.y + <moveAmount>5__3, damageNumber.transform.position.z); <moveAmount>5__3 -= 0.0064f; } if (<startFadeTime>5__2 < DateTime.Now) { ((Graphic)<damageNumberText>5__4).color = new Color(((Graphic)<damageNumberText>5__4).color.r, ((Graphic)<damageNumberText>5__4).color.g, ((Graphic)<damageNumberText>5__4).color.b, ((Graphic)<damageNumberText>5__4).color.a - 0.05f); } } catch { } <>2__current = (object)new WaitForFixedUpdate(); <>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(); } } [CompilerGenerated] private sealed class <RainbowColor>d__9 : IEnumerator<object>, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public TextMeshPro damageNumberText; public int sceneNumber; public main <>4__this; private float <r>5__1; private float <g>5__2; private float <b>5__3; private float <a>5__4; private int <colorToChange>5__5; private DateTime <timeToPlay>5__6; private int <>s__7; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <RainbowColor>d__9(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_01e4: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Expected O, but got Unknown //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Expected O, but got Unknown //IL_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01d0: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <r>5__1 = 255f; <g>5__2 = 0f; <b>5__3 = 255f; <a>5__4 = 255f; <colorToChange>5__5 = 1; <timeToPlay>5__6 = DateTime.Now.AddSeconds(3.9000000953674316); <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 1; return true; case 1: <>1__state = -1; break; case 2: <>1__state = -1; break; } if (DateTime.Now < <timeToPlay>5__6 && sceneNumber == <>4__this.sceneCount) { try { int num = <colorToChange>5__5; <>s__7 = num; switch (<>s__7) { case 1: <g>5__2 += 5f; <r>5__1 -= 5f; break; case 2: <r>5__1 += 5f; <b>5__3 -= 5f; break; case 3: <b>5__3 += 5f; <g>5__2 -= 5f; break; } if (<r>5__1 == 0f || <g>5__2 == 0f || <b>5__3 == 0f) { <colorToChange>5__5++; if (<colorToChange>5__5 == 4) { <colorToChange>5__5 = 1; } } ((Graphic)damageNumberText).color = new Color(<r>5__1 / 255f, <g>5__2 / 255f, <b>5__3 / 255f, ((Graphic)damageNumberText).color.a); } catch { } <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 2; 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(); } } [CompilerGenerated] private sealed class <WaitForMatchStart>d__10 : IEnumerator<object>, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public int playerNumber; public int sceneNumber; public main <>4__this; private int <i>5__1; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <WaitForMatchStart>d__10(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(0.5f); <>1__state = 1; return true; case 1: <>1__state = -1; <>4__this.waitForMatchStart = true; break; case 2: <>1__state = -1; break; } if (<>4__this.waitForMatchStart && <>4__this.sceneCount == sceneNumber) { try { if (Singleton<PlayerManager>.instance.AllPlayers[playerNumber].Data.HealthPoints == 20) { <i>5__1 = 0; while (<i>5__1 < <>4__this.playerCount) { <>4__this.healths[<i>5__1] = Singleton<PlayerManager>.instance.AllPlayers[<i>5__1].Data.HealthPoints; <i>5__1++; } <>4__this.waitForMatchStart = false; } } catch { } <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 2; 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(); } } private string currentScene = "Loader"; private int sceneCount = 0; private int[] healths; private int playerCount = 0; private bool waitForMatchStart = false; public override void OnLateInitializeMelon() { Calls.onMapInitialized += SceneInit; } public override void OnSceneWasLoaded(int buildIndex, string sceneName) { currentScene = sceneName; sceneCount++; } private void SceneInit() { waitForMatchStart = false; try { if (!(currentScene == "Loader")) { MelonCoroutines.Start(HealthWatcher(sceneCount)); } } catch (Exception ex) { MelonLogger.Error((object)ex); } } [IteratorStateMachine(typeof(<HealthWatcher>d__8))] private IEnumerator HealthWatcher(int sceneNumber) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <HealthWatcher>d__8(0) { <>4__this = this, sceneNumber = sceneNumber }; } [IteratorStateMachine(typeof(<RainbowColor>d__9))] private IEnumerator RainbowColor(TextMeshPro damageNumberText, int sceneNumber) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <RainbowColor>d__9(0) { <>4__this = this, damageNumberText = damageNumberText, sceneNumber = sceneNumber }; } [IteratorStateMachine(typeof(<WaitForMatchStart>d__10))] private IEnumerator WaitForMatchStart(int playerNumber, int sceneNumber) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <WaitForMatchStart>d__10(0) { <>4__this = this, playerNumber = playerNumber, sceneNumber = sceneNumber }; } [IteratorStateMachine(typeof(<MoveNumber>d__11))] private IEnumerator MoveNumber(GameObject damageNumber, int sceneNumber, int playerNumber) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <MoveNumber>d__11(0) { <>4__this = this, damageNumber = damageNumber, sceneNumber = sceneNumber, playerNumber = playerNumber }; } private Quaternion GetAngleToFaceMe(Vector3 objectPosition, Vector3 lookAtPosition) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: 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_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_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) Vector3 val = objectPosition - lookAtPosition; return Quaternion.LookRotation(val); } }