using System; using System.Runtime.InteropServices; using Cpp2IlInjected; using RecRoom; using RecRoom.Core; using RecRoom.Core.Combat; using UnityEngine; // Token: 0x020000B0 RID: 176 [Token(Token = "0x20000B0")] [StructLayout(3)] public class SniperScope : MonoBehaviour { // Token: 0x060004CD RID: 1229 RVA: 0x00018A30 File Offset: 0x00016C30 [Token(Token = "0x60004CD")] [Address(RVA = "0x1051790", Offset = "0x1050190", VA = "0x181051790")] private void Awake() { int num = this.resolution; Camera camera = this.scopeCamera; RenderTexture renderTexture = EOAEDHMGACB.IJGIJMONMBP(num, num, 24, camera); Camera camera2 = this.scopeCamera; this.LDEKHANDCBO = renderTexture; int num2 = 0; if (!(camera2 == num2)) { Renderer renderer = this.scopeRenderer; int num3 = 0; if (!(renderer == num3)) { Camera camera3 = this.scopeCamera; float num4 = this.fov; camera3.fieldOfView = num4; Camera camera4 = this.scopeCamera; RenderTexture ldekhandcbo = this.LDEKHANDCBO; camera4.targetTexture = ldekhandcbo; Material material = new Material(this.scopeRenderer.GetSharedMaterial()); Renderer renderer2 = this.scopeRenderer; this.CAMKAFJKNGH = material; renderer2.SetMaterial(material); Material camkafjkngh = this.CAMKAFJKNGH; RenderTexture ldekhandcbo2 = this.LDEKHANDCBO; int bmbhiolhcli = PAMNDKEGFFG.BMBHIOLHCLI; camkafjkngh.SetTextureImpl(bmbhiolhcli, ldekhandcbo2); Material camkafjkngh2 = this.CAMKAFJKNGH; Tool tool = this.tool; int num5 = 0; if (tool != num5) { Tool tool2 = this.tool; ActionEvent postPickupEvent = tool2.PostPickupEvent; Action action = new Action(this.MADAMADCJNN); ActionEvent actionEvent = postPickupEvent + action; tool2.PostPickupEvent = actionEvent; Tool tool3 = this.tool; ActionEvent postReleaseEvent = tool3.PostReleaseEvent; Action action2 = new Action(this.OGHNKALGNEJ); ActionEvent actionEvent2 = postReleaseEvent + action2; tool3.PostReleaseEvent = actionEvent2; } return; } } Debug.LogError("SniperScope: Missing camera or renderer."); } // Token: 0x060004CE RID: 1230 RVA: 0x00018BA8 File Offset: 0x00016DA8 [Token(Token = "0x60004CE")] [Address(RVA = "0x1051FF0", Offset = "0x10509F0", VA = "0x181051FF0")] private void Start() { Tool tool = this.tool; int num = 0; bool flag = tool == num; this.FNHKANMPDFA = flag; } // Token: 0x060004CF RID: 1231 RVA: 0x00018BD0 File Offset: 0x00016DD0 [Token(Token = "0x60004CF")] [Address(RVA = "0x1051DA0", Offset = "0x10507A0", VA = "0x181051DA0")] private void OnDestroy() { Material camkafjkngh = this.CAMKAFJKNGH; int num = 0; if (camkafjkngh != num) { global::UnityEngine.Object.Destroy(this.CAMKAFJKNGH); this.CAMKAFJKNGH = (ulong)0L; } Tool tool = this.tool; int num2 = 0; if (tool != num2) { Tool tool2 = this.tool; ActionEvent postPickupEvent = tool2.PostPickupEvent; Action action = new Action(this.MADAMADCJNN); ActionEvent actionEvent = postPickupEvent - action; tool2.PostPickupEvent = actionEvent; Tool tool3 = this.tool; ActionEvent postReleaseEvent = tool3.PostReleaseEvent; Action action2 = new Action(this.OGHNKALGNEJ); ActionEvent actionEvent2 = postReleaseEvent - action2; tool3.PostReleaseEvent = actionEvent2; } Camera camera = this.scopeCamera; int num3 = 0; if (camera != num3) { this.scopeCamera.CleanupRenderTexture(); } RenderTexture ldekhandcbo = this.LDEKHANDCBO; int num4 = 0; if (ldekhandcbo != num4) { this.LDEKHANDCBO.Release(); global::UnityEngine.Object.DestroyImmediate(this.LDEKHANDCBO); this.LDEKHANDCBO = (ulong)0L; } } // Token: 0x060004D0 RID: 1232 RVA: 0x00018CDC File Offset: 0x00016EDC [Token(Token = "0x60004D0")] [Address(RVA = "0x1051D30", Offset = "0x1050730", VA = "0x181051D30")] private void MADAMADCJNN(Tool EGFEJGHDNAI) { if (EGFEJGHDNAI.BHNPNHMILIF != 0) { this.FNHKANMPDFA = true; return; } } // Token: 0x060004D1 RID: 1233 RVA: 0x00018D00 File Offset: 0x00016F00 [Token(Token = "0x60004D1")] [Address(RVA = "0x1051D90", Offset = "0x1050790", VA = "0x181051D90")] private void OGHNKALGNEJ(Tool EGFEJGHDNAI) { int num = 0; this.FNHKANMPDFA = num != 0; } // Token: 0x170000BD RID: 189 // (set) Token: 0x060004D2 RID: 1234 RVA: 0x00018D18 File Offset: 0x00016F18 [Token(Token = "0x170000BD")] private bool FNHKANMPDFA { [Token(Token = "0x60004D2")] [Address(RVA = "0x1051B30", Offset = "0x1050530", VA = "0x181051B30")] set { Camera camera = this.scopeCamera; int num = 0; if (camera != num) { Camera camera2 = this.scopeCamera; int num2 = 0; camera2.enabled = value; if (value) { Material camkafjkngh = this.CAMKAFJKNGH; int num3 = 0; if (camkafjkngh != num3) { RangedWeapon rangedWeapon = this.rangedWeapon; Material camkafjkngh2 = this.CAMKAFJKNGH; if (rangedWeapon.IsOverlappingWorld()) { } Color nlffcdcfcch = this.NLFFCDCFCCH; camkafjkngh2.color = nlffcdcfcch; } while (this.KKGEGOBPOFE != (ulong)0L) { } Action action = new Action(this.DDJDCIGMIFM); IDisposable disposable = ScheduledUpdateMonoBehaviourExtensions.Update10hz(this, action); this.KKGEGOBPOFE = disposable; return; } if (this.KKGEGOBPOFE != 0) { int num4 = 0; if (num4 < num2) { num4 += num4; num4++; } this.KKGEGOBPOFE = num4; } } } } // Token: 0x060004D3 RID: 1235 RVA: 0x00018DEC File Offset: 0x00016FEC [Token(Token = "0x60004D3")] [Address(RVA = "0x1051A80", Offset = "0x1050480", VA = "0x181051A80")] private void DDJDCIGMIFM(float FHBEHPNHMOO) { Material camkafjkngh = this.CAMKAFJKNGH; int num = 0; if (camkafjkngh != num) { RangedWeapon rangedWeapon = this.rangedWeapon; Material camkafjkngh2 = this.CAMKAFJKNGH; if (rangedWeapon.IsOverlappingWorld()) { } Color nlffcdcfcch = this.NLFFCDCFCCH; camkafjkngh2.color = nlffcdcfcch; } } // Token: 0x060004D4 RID: 1236 RVA: 0x00018E3C File Offset: 0x0001703C [Token(Token = "0x60004D4")] [Address(RVA = "0x1052060", Offset = "0x1050A60", VA = "0x181052060")] public SniperScope() { Color black = Color.black; base..ctor(); } // Token: 0x0400041C RID: 1052 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400041C")] [SerializeField] private Renderer scopeRenderer; // Token: 0x0400041D RID: 1053 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x400041D")] [SerializeField] private Camera scopeCamera; // Token: 0x0400041E RID: 1054 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x400041E")] [SerializeField] [OCIDFHDICIP(JIBDPHMGEGO.Self, true, false)] private Tool tool; // Token: 0x0400041F RID: 1055 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x400041F")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)] private RangedWeapon rangedWeapon; // Token: 0x04000420 RID: 1056 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4000420")] [SerializeField] private float fov = 5f; // Token: 0x04000421 RID: 1057 [global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")] [Token(Token = "0x4000421")] [SerializeField] private int resolution = (int)((ulong)256L); // Token: 0x04000422 RID: 1058 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x4000422")] private RenderTexture LDEKHANDCBO; // Token: 0x04000423 RID: 1059 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x4000423")] private Material CAMKAFJKNGH; // Token: 0x04000424 RID: 1060 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x4000424")] private Color NLFFCDCFCCH; // Token: 0x04000425 RID: 1061 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x4000425")] private Color FCGEPMPODLP; // Token: 0x04000426 RID: 1062 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x4000426")] private IDisposable KKGEGOBPOFE; }