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 Hologram v1.2.6
Mods/Hologram.dll
Decompiled a year agousing System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using Hologram; using MelonLoader; using RumbleModUI; using RumbleModdingAPI; using UnityEngine; [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), "Hologram", "1.2.3", "ERROR", null)] [assembly: MelonGame("Buckethead Entertainment", "RUMBLE")] [assembly: MelonColor(255, 255, 0, 0)] [assembly: MelonAuthorColor(255, 255, 0, 0)] [assembly: AssemblyTitle("Hologram")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Hologram")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: VerifyLoaderVersion(0, 6, 2, true)] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("b10c94a1-8a40-4701-bc5b-98eabb44dfea")] [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 Hologram; public class main : MelonMod { private bool init = false; private bool setPos = false; private string currentScene = "Loader"; private int sceneCount = 0; private bool sceneChanged = false; private List<GameObject> cubeGrid = new List<GameObject>(); private Vector3[] noisePositions = (Vector3[])(object)new Vector3[900]; private float time; public List<Vector3[]> ModelsList = new List<Vector3[]>(); private GameObject materialHolder; private GameObject player; private Transform RhandTransform; private Transform LhandTransform; private Vector3 RprevHandPosition; private Vector3 LprevHandPosition; private Vector3 RhandVelocity; private Vector3 LhandVelocity; private Vector3 cubeParentVelocity = Vector3.zero; private float rotationVelocity; private GameObject RhandCube; private GameObject LhandCube; private UI UI = UI.instance; private Mod Hologram = new Mod(); private string FILEPATH = "UserData\\Hologram"; private GameObject MainParent; private int CurrentModel = 0; private int CurrentShape = 1; private int waitedTicks = 0; public GameObject cubeParent; private bool isAdjustingCubeCount = false; public override void OnLateInitializeMelon() { //IL_0054: 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_0066: Expected O, but got Unknown //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Expected O, but got Unknown //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Expected O, but got Unknown MelonLogger.Msg("Hologram Initiated"); Hologram.ModName = "Hologram"; Hologram.ModVersion = "1.2.3"; Hologram.SetFolder("Hologram"); Hologram.AddDescription("Description", "Description", "Shows a Hologram in Gym", new Tags { IsSummary = true }); Hologram.AddToList("Follow Hands (Move)", false, 0, "Toggles if the hologram follows your hands in order to move it around", new Tags()); Hologram.AddToList("Toggle Hologram", true, 0, "Toggles if the hologram should be enabled or not", new Tags()); Hologram.GetFromFile(); Hologram.ModSaved += Save; UI.instance.UI_Initialized += UIInit; Calls.onMapInitialized += OnMapInitialized; } public void UIInit() { UI.AddMod(Hologram); } public void Save() { if (currentScene == "Gym" || currentScene == "Park") { MainParent.SetActive((bool)Hologram.Settings[2].SavedValue); } } public void OnMapInitialized() { //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) if (currentScene == "Gym" || currentScene == "Park") { if (!init) { MelonCoroutines.Start(InitializeWithPause(sceneCount)); return; } MainParent.SetActive((bool)Hologram.Settings[2].SavedValue); if ((Object)(object)LhandTransform == (Object)null || (Object)(object)RhandTransform == (Object)null) { player = ((Component)((Component)Players.GetLocalPlayer().Controller).gameObject.transform.GetChild(1)).gameObject; RhandTransform = player.transform.GetChild(2); LhandTransform = player.transform.GetChild(1); } MainParent.transform.position = ((currentScene == "Gym") ? new Vector3(3.92f, 1.2909f, -3.1745f) : new Vector3(-26.3655f, -4.4727f, 9.1037f)); } else if (init) { MainParent.SetActive(false); } else { MelonLogger.Error("What the fuck did you do"); } } private IEnumerator InitializeWithPause(int sceneNumber) { DateTime targetTime = DateTime.Now.AddSeconds(1.0); while (DateTime.Now < targetTime) { yield return (object)new WaitForFixedUpdate(); } if (sceneNumber == sceneCount) { Initialize(); } } private void Initialize() { //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) ModelsList = new List<Vector3[]>(); int num = 25; float num2 = 1f; float num3 = num2 / (float)num; float num4 = (float)(num - 1) * num3 / 2f; noisePositions = (Vector3[])(object)new Vector3[num * num]; int num5 = 0; for (int i = 0; i < num; i++) { for (int j = 0; j < num; j++) { noisePositions[num5] = new Vector3((float)i * num3 - num4, 0f, (float)j * num3 - num4); num5++; } } InitializeModels(); InitializePlayer(); InitializeCubeGrid(); InitializeHandColliders(); MainParent.SetActive((bool)Hologram.Settings[2].SavedValue); init = true; } public static string[] ReadFileText(string filePath, string fileName) { try { return File.ReadAllLines(filePath + "\\" + fileName); } catch (Exception ex) { MelonLogger.Error((object)ex); } return null; } public static Vector3 ParseStringToVector3(string vectorString) { //IL_0031: 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_003a: Unknown result type (might be due to invalid IL or missing references) string[] array = vectorString.Split(new char[1] { ',' }); float num = float.Parse(array[0]); float num2 = float.Parse(array[1]); float num3 = float.Parse(array[2]); return new Vector3(num, num2, num3); } private void InitializeModels() { //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: 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) string[] files = Directory.GetFiles(FILEPATH, "*.obj"); string[] array = files; foreach (string filePath in array) { string[] array2 = Load3DModel(filePath).ToArray(); List<Vector3> list = new List<Vector3>(); string[] array3 = array2; foreach (string vectorString in array3) { Vector3 item = ParseStringToVector3(vectorString); list.Add(item); } ModelsList.Add(list.ToArray()); } } private List<string> Load3DModel(string filePath) { if (!File.Exists(filePath)) { MelonLogger.Error("File Not found: " + filePath); return new List<string>(); } List<string> list = new List<string>(); string[] array = File.ReadAllLines(filePath); string[] array2 = array; foreach (string text in array2) { string[] array3 = text.Trim().Split(); if (array3[0] == "v") { list.Add(array3[1] + ", " + array3[2] + ", " + array3[3]); } } return list; } private void InitializePlayer() { //IL_005b: 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_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Expected O, but got Unknown //IL_00a0: 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) player = ((Component)((Component)Players.GetLocalPlayer().Controller).gameObject.transform.GetChild(1)).gameObject; RhandTransform = player.transform.GetChild(2); LhandTransform = player.transform.GetChild(1); RprevHandPosition = RhandTransform.position; LprevHandPosition = LhandTransform.position; MainParent = new GameObject("Hologram Stuff"); MainParent.transform.position = new Vector3(3.92f, 1.2909f, -3.1745f); MainParent.transform.rotation = Quaternion.Euler(0f, 18.7272f, 0f); Object.DontDestroyOnLoad((Object)(object)MainParent); } private void InitializeHandColliders() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown GameObject val = new GameObject("Hand Colliders"); RhandCube = CreateHandCollider("Right Hand Collider", val.transform); LhandCube = CreateHandCollider("Left Hand Collider", val.transform); Object.DontDestroyOnLoad((Object)(object)val); } private GameObject CreateHandCollider(string name, Transform parent) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) GameObject val = GameObject.CreatePrimitive((PrimitiveType)3); val.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); ((Object)val).name = name; val.transform.parent = parent; Renderer component = val.GetComponent<Renderer>(); component.material = ((Renderer)materialHolder.GetComponent<MeshRenderer>()).material; component.enabled = false; Rigidbody val2 = val.AddComponent<Rigidbody>(); val2.isKinematic = true; val.AddComponent<BoxCollider>(); return val; } private void InitializeCubeGrid() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Expected O, but got Unknown //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) cubeParent = new GameObject("CubeGridParent"); cubeParent.transform.parent = MainParent.transform; Material material = ((Component)((Component)Gym.GetGymPoseGhostHandler().poseGhost).transform.GetChild(0).GetChild(1)).GetComponent<Renderer>().material; materialHolder = new GameObject("Pose Ghost Material"); MeshRenderer val = materialHolder.AddComponent<MeshRenderer>(); ((Renderer)val).material = material; Object.DontDestroyOnLoad((Object)(object)materialHolder); materialHolder.transform.parent = MainParent.transform; CreateCubeGrid(ModelsList[0], material); cubeParent.transform.position = Vector3.zero; cubeParent.transform.rotation = Quaternion.Euler(0f, 26.3635f, 0f); cubeParent.transform.localPosition = new Vector3(-0.2072f, -0.0909f, -0.3345f); cubeParent.transform.localScale = Vector3.one; InitializeButtons(material); } private void InitializeButtons(Material material) { //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_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0089: 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_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_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0117: 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_016b: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_01a0: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01f2: Unknown result type (might be due to invalid IL or missing references) //IL_0213: Unknown result type (might be due to invalid IL or missing references) GameObject val = Create.NewButton(Vector3.zero, Quaternion.identity, (Action)delegate { if (!isAdjustingCubeCount) { CurrentModel = (CurrentModel + 1) % (ModelsList.Count + 1); AdjustCubeCountSwitch(material); } }); ((Object)val).name = "Next Model Button"; val.transform.parent = MainParent.transform; val.transform.localRotation = Quaternion.Euler(270.9994f, 52.2065f, 179.9999f); val.transform.localPosition = new Vector3(-3.2719f, 0.0073f, -1.9171f); GameObject val2 = Create.NewText("→", 1f, Color.white, val.transform.position, Quaternion.identity); ((Object)val2).name = "Next Model Text"; val2.transform.parent = val.transform; val2.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); val2.transform.localPosition = new Vector3(0.0077f, 0.0898f, 0.0205f); GameObject val3 = Create.NewButton(Vector3.zero, Quaternion.identity, (Action)delegate { if (!isAdjustingCubeCount) { CurrentModel = (CurrentModel + ModelsList.Count) % (ModelsList.Count + 1); AdjustCubeCountSwitch(material); } }); ((Object)val3).name = "Prev Model Button"; val3.transform.parent = MainParent.transform; val3.transform.localRotation = Quaternion.Euler(270.9994f, 52.2065f, 179.9999f); val3.transform.localPosition = new Vector3(-3.1225f, 0.0073f, -2.1199f); GameObject val4 = Create.NewText("←", 1f, Color.white, val.transform.position, Quaternion.identity); ((Object)val4).name = "Prev Model Text"; val4.transform.parent = val3.transform; val4.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); val4.transform.localPosition = new Vector3(0.0077f, 0.0898f, 0.0205f); } private void AdjustCubeCountSwitch(Material material) { if (CurrentModel >= 0 && CurrentModel < ModelsList.Count) { AdjustCubeCount(ModelsList[CurrentModel], material); } else if (CurrentModel >= 0 && CurrentModel == ModelsList.Count) { AdjustCubeCount(noisePositions, material); } } private void CreateCubeGrid(Vector3[] model, Material material) { //IL_0016: 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_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_007a: 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) PrimitiveType val = (PrimitiveType)(CurrentShape switch { 0 => 3, 1 => 0, _ => 3, }); foreach (Vector3 localPosition in model) { GameObject val2 = GameObject.CreatePrimitive(val); val2.transform.localPosition = localPosition; val2.transform.parent = cubeParent.transform; float num = 0.03f; val2.transform.localScale = new Vector3(num, num, num); Renderer component = val2.GetComponent<Renderer>(); component.material = ((Renderer)materialHolder.GetComponent<MeshRenderer>()).material; Rigidbody val3 = val2.AddComponent<Rigidbody>(); val3.isKinematic = true; cubeGrid.Add(val2); } } public void AdjustCubeCount(Vector3[] model, Material material) { if (!isAdjustingCubeCount) { isAdjustingCubeCount = true; MelonCoroutines.Start(AdjustCubeCountCoroutine(model, material)); } } private IEnumerator AdjustCubeCountCoroutine(Vector3[] model, Material material) { int currentCount = cubeGrid.Count; int targetCount = model.Length; float waitTime = 1.5f / (float)Mathf.Abs(targetCount - currentCount); PrimitiveType shapeType = (PrimitiveType)(CurrentShape switch { 0 => 3, 1 => 0, _ => 3, }); if (currentCount < targetCount) { for (int j = currentCount; j < targetCount; j++) { if (!(currentScene == "Gym") && !(currentScene == "Park")) { break; } GameObject cube2 = GameObject.CreatePrimitive(shapeType); cube2.transform.localPosition = RhandTransform.position; cube2.transform.parent = cubeParent.transform; cube2.transform.localScale = new Vector3(0.03f, 0.03f, 0.03f); Renderer renderer = cube2.GetComponent<Renderer>(); renderer.material = ((Renderer)materialHolder.GetComponent<MeshRenderer>()).material; Rigidbody rb = cube2.AddComponent<Rigidbody>(); rb.isKinematic = true; cubeGrid.Add(cube2); yield return (object)new WaitForSeconds(waitTime); } } else if (currentCount > targetCount) { for (int i = currentCount - 1; i >= targetCount; i--) { GameObject cube = cubeGrid[i]; cubeGrid.Remove(cube); Object.Destroy((Object)(object)cube); } } isAdjustingCubeCount = false; } public override void OnSceneWasLoaded(int buildIndex, string sceneName) { currentScene = sceneName; sceneChanged = true; } public override void OnUpdate() { if (init && (bool)Hologram.Settings[2].SavedValue && (currentScene == "Gym" || currentScene == "Park")) { if ((Object)(object)LhandCube != (Object)null && (Object)(object)RhandCube != (Object)null && (Object)(object)RhandTransform != (Object)null && (Object)(object)LhandTransform != (Object)null) { UpdateHandPositions(); UpdateCubeGrid(); } if (CurrentModel == ModelsList.Count) { UpdateNoisePositions(); } } } private void UpdateHandPositions() { //IL_0019: 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_0025: 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_006e: 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_009c: 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_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: 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_01ab: 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_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_0115: 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_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_0168: 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_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0179: 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) time += Time.deltaTime; Vector3 position = RhandTransform.position; Vector3 position2 = LhandTransform.position; bool flag = RightController.GetGrip() > 0.9f && RightController.GetTrigger() > 0.9f; bool flag2 = LeftController.GetGrip() > 0.9f && LeftController.GetTrigger() > 0.9f; RhandCube.transform.position = position; RhandCube.transform.rotation = RhandTransform.rotation; LhandCube.transform.position = position2; LhandCube.transform.rotation = LhandTransform.rotation; if (Vector3.Distance(player.transform.position, MainParent.transform.position) <= 4f) { if (RightController.GetGrip() > 0.9f && !flag) { RhandVelocity = (position - RprevHandPosition) / Time.deltaTime; rotationVelocity += RhandVelocity.x * 50f; } if (LeftController.GetGrip() > 0.9f && !flag2) { LhandVelocity = (position2 - LprevHandPosition) / Time.deltaTime; rotationVelocity += LhandVelocity.x * 50f; } } RprevHandPosition = position; LprevHandPosition = position2; rotationVelocity *= 0.95f; float num = 100f; rotationVelocity = Mathf.Clamp(rotationVelocity, 0f - num, num); cubeParent.transform.Rotate(Vector3.up, rotationVelocity * Time.deltaTime); } private void UpdateCubeGrid() { //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) for (int num = cubeGrid.Count - 1; num >= 0; num--) { GameObject val = cubeGrid[num]; if ((Object)(object)val != (Object)null) { float num2 = Mathf.Sin(time + (float)num) * 0.005f; Vector3 targetPosition = GetTargetPosition(num); targetPosition.y += num2; Rigidbody component = val.GetComponent<Rigidbody>(); HandleCollisionAndLerp(val, component, targetPosition); } } } private void UpdateNoisePositions() { //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_0013: 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_0059: 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) for (int i = 0; i < noisePositions.Length; i++) { Vector3 val = noisePositions[i]; float x = val.x; float num = val.z + time * 0.07f; float y = Mathf.PerlinNoise(x / 0.2f, num / 0.2f) * 0.2f; val.y = y; noisePositions[i] = val; } } private Vector3 GetTargetPosition(int index) { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0077: 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) //IL_006f: Unknown result type (might be due to invalid IL or missing references) if (CurrentModel >= 0 && CurrentModel < ModelsList.Count) { return ModelsList[CurrentModel][index]; } if (CurrentModel >= 0 && CurrentModel == ModelsList.Count) { return noisePositions[index]; } return Vector3.zero; } private void HandleCollisionAndLerp(GameObject cube, Rigidbody rb, Vector3 targetPosition) { //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_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_00ef: 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_00c3: 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_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_007c: 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_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_0165: 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_016f: 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_011e: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0209: 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_023a: Unknown result type (might be due to invalid IL or missing references) //IL_024f: Unknown result type (might be due to invalid IL or missing references) //IL_0259: Unknown result type (might be due to invalid IL or missing references) rb.useGravity = false; rb.drag = 1f; rb.angularDrag = 1f; Collider component = cube.GetComponent<Collider>(); Collider component2 = RhandCube.GetComponent<Collider>(); Collider component3 = LhandCube.GetComponent<Collider>(); bool flag = false; Bounds bounds = component.bounds; Vector3 val; if (((Bounds)(ref bounds)).Intersects(component2.bounds) && RightController.GetGrip() > 0.9f && RightController.GetTrigger() > 0.9f && Vector3.Distance(player.transform.position, MainParent.transform.position) <= 4f) { val = cube.transform.position - RhandCube.transform.position; ApplyForce(cube, rb, ((Vector3)(ref val)).normalized); flag = false; } else { bounds = component.bounds; if (((Bounds)(ref bounds)).Intersects(component3.bounds) && LeftController.GetGrip() > 0.9f && LeftController.GetTrigger() > 0.9f && Vector3.Distance(player.transform.position, MainParent.transform.position) <= 4f) { val = cube.transform.position - LhandCube.transform.position; ApplyForce(cube, rb, ((Vector3)(ref val)).normalized); flag = false; } else { val = rb.velocity; if (((Vector3)(ref val)).magnitude < 0.01f) { rb.isKinematic = true; flag = true; } } } if (flag) { cube.transform.localPosition = Vector3.Lerp(cube.transform.localPosition, targetPosition, Time.deltaTime); } if ((bool)Hologram.Settings[1].SavedValue) { cubeParent.transform.position = RhandTransform.position; cubeParent.transform.rotation = Quaternion.Euler(cubeParent.transform.rotation.x, RhandTransform.rotation.y, cubeParent.transform.rotation.z); } } private void ApplyForce(GameObject cube, Rigidbody rb, Vector3 direction) { //IL_000a: 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) rb.isKinematic = false; rb.AddForce(direction * 5f, (ForceMode)5); } }