using System; using System.Runtime.InteropServices; using Cpp2IlInjected; using Photon.Pun; using RecRoom.Networking.SynchronizedFields; using UnityEngine; namespace RecRoom.Tools { // Token: 0x0200254D RID: 9549 [Token(Token = "0x200254D")] [StructLayout(3)] public abstract class DrawingToolBase : MonoBehaviourPun { // Token: 0x17002CC3 RID: 11459 // (get) Token: 0x0601078F RID: 67471 RVA: 0x003DE640 File Offset: 0x003DC840 // (set) Token: 0x06010790 RID: 67472 RVA: 0x003DE660 File Offset: 0x003DC860 [Token(Token = "0x17002CC3")] private bool NHCKPNPMDMO { [Token(Token = "0x601078F")] [Address(RVA = "0x1A624A0", Offset = "0x1A60EA0", VA = "0x181A624A0")] get { return this.GPGPKKALPPB.Get() != null; } [Token(Token = "0x6010790")] [Address(RVA = "0x1A62730", Offset = "0x1A61130", VA = "0x181A62730")] set { SynchronizedField gpgpkkalppb = this.GPGPKKALPPB; } } // Token: 0x17002CC4 RID: 11460 // (get) Token: 0x06010791 RID: 67473 RVA: 0x003DE67C File Offset: 0x003DC87C [Token(Token = "0x17002CC4")] public Tool PBBJCLJPFMI { [Token(Token = "0x6010791")] [Address(RVA = "0x3D32F0", Offset = "0x3D1CF0", VA = "0x1803D32F0")] get { return this.tool; } } // Token: 0x17002CC5 RID: 11461 // (get) Token: 0x06010792 RID: 67474 RVA: 0x003DE690 File Offset: 0x003DC890 // (set) Token: 0x06010793 RID: 67475 RVA: 0x003DE6A4 File Offset: 0x003DC8A4 [Token(Token = "0x17002CC5")] public DrawingSurface EPLIJLKMAAE { [Token(Token = "0x6010792")] [Address(RVA = "0x4D66C0", Offset = "0x4D50C0", VA = "0x1804D66C0")] get; [Token(Token = "0x6010793")] [Address(RVA = "0x4D6780", Offset = "0x4D5180", VA = "0x1804D6780")] set; } // Token: 0x17002CC6 RID: 11462 // (get) Token: 0x06010794 RID: 67476 RVA: 0x003DE6B8 File Offset: 0x003DC8B8 // (set) Token: 0x06010795 RID: 67477 RVA: 0x003DE6CC File Offset: 0x003DC8CC [Token(Token = "0x17002CC6")] public bool LMNMPICOEMJ { [Token(Token = "0x6010794")] [Address(RVA = "0xAD47F0", Offset = "0xAD31F0", VA = "0x180AD47F0")] get; [Token(Token = "0x6010795")] [Address(RVA = "0xAD4A10", Offset = "0xAD3410", VA = "0x180AD4A10")] set; } // Token: 0x17002CC7 RID: 11463 // (get) Token: 0x06010796 RID: 67478 RVA: 0x003DE6E0 File Offset: 0x003DC8E0 [Token(Token = "0x17002CC7")] public Transform AOLKEGOFKLG { [Token(Token = "0x6010796")] [Address(RVA = "0x462740", Offset = "0x461140", VA = "0x180462740")] get { return this._brushTip; } } // Token: 0x17002CC8 RID: 11464 // (get) Token: 0x06010797 RID: 67479 RVA: 0x003DE6F4 File Offset: 0x003DC8F4 [Token(Token = "0x17002CC8")] public Material JGLFCAMFGDN { [Token(Token = "0x6010797")] [Address(RVA = "0x1A631E0", Offset = "0x1A61BE0", VA = "0x181A631E0")] get { Material gbilnhkbmea = this.GBILNHKBMEA; int num = 0; if (gbilnhkbmea == num) { Material material = global::UnityEngine.Object.Instantiate(this._drawingMaterial); this.GBILNHKBMEA = material; } return this.GBILNHKBMEA; } } // Token: 0x17002CC9 RID: 11465 // (get) Token: 0x06010798 RID: 67480 RVA: 0x003DE730 File Offset: 0x003DC930 [Token(Token = "0x17002CC9")] public DrawingSurface.OMBBAPFJEDF KJPCOCIKGGJ { [Token(Token = "0x6010798")] [Address(RVA = "0x3D30B0", Offset = "0x3D1AB0", VA = "0x1803D30B0")] get { return this._drawingSurfaceType; } } // Token: 0x06010799 RID: 67481 RVA: 0x003DE744 File Offset: 0x003DC944 [Token(Token = "0x6010799")] [Address(RVA = "0x1A61D30", Offset = "0x1A60730", VA = "0x181A61D30", Slot = "13")] protected override void Awake() { base..ctor(); Action action = new Action(this.FDGJLBKFIKI); int num; int num2; SynchronizedField synchronizedField = new SynchronizedField(this, "IS_DRAWING", num, (SetterPermissionMode)num2, action, num2); num2 = 0; num = 0; Tool tool = this.tool; this.GPGPKKALPPB = synchronizedField; ActionEvent postReleaseEvent = tool.PostReleaseEvent; Action action2 = new Action(this.OIOCPLEKMEK); ActionEvent actionEvent = postReleaseEvent + action2; tool.PostReleaseEvent = actionEvent; } // Token: 0x0601079A RID: 67482 RVA: 0x003DE7B8 File Offset: 0x003DC9B8 [Token(Token = "0x601079A")] [Address(RVA = "0x1A62D60", Offset = "0x1A61760", VA = "0x181A62D60", Slot = "14")] protected override void OnDestroy() { Tool tool = this.tool; ActionEvent postReleaseEvent = tool.PostReleaseEvent; Action action = new Action(this.OIOCPLEKMEK); ActionEvent actionEvent = postReleaseEvent - action; tool.PostReleaseEvent = actionEvent; base.OnDestroy(); } // Token: 0x0601079B RID: 67483 RVA: 0x003DE7FC File Offset: 0x003DC9FC [Token(Token = "0x601079B")] [Address(RVA = "0x1A63070", Offset = "0x1A61A70", VA = "0x181A63070")] private void Update() { if (this.k__BackingField) { this.OIOEGKAEMOI(); } this.ADCHIMGGOOK(); if (base.hasAuthority) { this.NMFEHBBMAEC(); return; } } // Token: 0x0601079C RID: 67484 RVA: 0x003DE830 File Offset: 0x003DCA30 [Token(Token = "0x601079C")] [Address(RVA = "0x1A62940", Offset = "0x1A61340", VA = "0x181A62940")] private void OIOCPLEKMEK(Tool EGFEJGHDNAI) { this.MPKNLGHLDEN(); } // Token: 0x0601079D RID: 67485 RVA: 0x003DE844 File Offset: 0x003DCA44 [Token(Token = "0x601079D")] [Address(RVA = "0x1A62E10", Offset = "0x1A61810", VA = "0x181A62E10")] public void UpdateManualDrawing(Vector3 LLGILECIIGJ, Quaternion NDKHIBFGBND, float JDLIOHICNLB) { if (!this.k__BackingField && base.hasAuthority) { int num = 0; float z = Vector3.zero.z; Vector2 zero = Vector2.zero; DrawingSurface drawingSurface = this.k__BackingField; int num2 = 0; if (!(drawingSurface == num2)) { DrawingSurface drawingSurface2 = this.k__BackingField; float z2 = LLGILECIIGJ.z; float z3 = LLGILECIIGJ.z; } this.CKHBHODLIDP.z = z; this.GPGPKKALPPB.Set(num); } } // Token: 0x0601079E RID: 67486 RVA: 0x003DE8CC File Offset: 0x003DCACC [Token(Token = "0x601079E")] [Address(RVA = "0x1A62420", Offset = "0x1A60E20", VA = "0x181A62420")] public void FinishManualDrawing() { if (!this.k__BackingField && base.hasAuthority) { SynchronizedField gpgpkkalppb = this.GPGPKKALPPB; int num = 0; gpgpkkalppb.Set(num); return; } } // Token: 0x0601079F RID: 67487 [Token(Token = "0x601079F")] [Address(Slot = "15")] protected abstract void AHDFJOCELJC(DrawingSurface NIHMPEPNBBA, Vector3 BNKHIHFFIIN, Quaternion FDBDEKJEPOP, Vector2 OEGCIIBMIGI, float JDLIOHICNLB); // Token: 0x060107A0 RID: 67488 [Token(Token = "0x60107A0")] [Address(Slot = "16")] protected abstract void PCNENEELBCF(); // Token: 0x060107A1 RID: 67489 RVA: 0x003DE904 File Offset: 0x003DCB04 [Token(Token = "0x60107A1")] [Address(RVA = "0x1A62270", Offset = "0x1A60C70", VA = "0x181A62270")] private void FDGJLBKFIKI() { while (this.GPGPKKALPPB.Get() != 0) { RecRoomAudioClip recRoomAudioClip = this.brushDownClip; if (recRoomAudioClip != 0) { Transform transform = base.transform; int num = 0; int num2 = 0; SFXAudioSource sfxaudioSource = AudioManager.Play3DSFX(recRoomAudioClip, transform, num2, num); } Tool tool = this.tool; int num3 = 0; if (tool != num3) { PlayerHand k__BackingField = this.tool.k__BackingField; int num4 = 0; if (k__BackingField != num4) { this.tool.k__BackingField.Vibrate(1, 1f); return; } } } this.MPKNLGHLDEN(); } // Token: 0x060107A2 RID: 67490 RVA: 0x003DE998 File Offset: 0x003DCB98 [Token(Token = "0x60107A2")] [Address(RVA = "0x1A62950", Offset = "0x1A61350", VA = "0x181A62950")] private void OIOEGKAEMOI() { bool flag = this.GPGPKKALPPB.Get() != null; Transform brushTip = this._brushTip; Transform transform = brushTip.transform; Vector3 position = brushTip.position; Transform brushTip2 = this._brushTip; Transform transform2 = brushTip2.transform; Quaternion rotation = brushTip2.rotation; Vector3 zero = Vector3.zero; int num = 0; Vector2 zero2 = Vector2.zero; DrawingSurface drawingSurface = this.k__BackingField; int num2 = 0; int num3 = 0; if (!(drawingSurface == num3)) { DrawingSurface drawingSurface2 = this.k__BackingField; int num4 = 0; if (num4 != 0) { int num5 = 0; int num6 = 0; float num7 = Mathf.InverseLerp(0.02f, (float)num6, (float)num2); bool flag2 = this.BNPPDDLLGEB(num3, num2, num5, num7, num4); } } this.CKHBHODLIDP.z = drawingSurface; this.GPGPKKALPPB.Set(num); if (!flag || this.GPGPKKALPPB.Get() == 0) { } } // Token: 0x060107A3 RID: 67491 RVA: 0x003DEA7C File Offset: 0x003DCC7C [Token(Token = "0x60107A3")] [Address(RVA = "0x1A61E50", Offset = "0x1A60850", VA = "0x181A61E50")] private bool BKCCPADKBLL(Vector3 LLGILECIIGJ, out Vector2 ABCAKNAFPFC, out bool MICDNMMLDBD, out float APBKNLDFAHH) { Vector2 zero = Vector2.zero; ABCAKNAFPFC.x = zero; ABCAKNAFPFC.y = (float)0; DrawingSurface drawingSurface = this.k__BackingField; int num = 0; if (!(drawingSurface == num)) { DrawingSurface drawingSurface2 = this.k__BackingField; float z = LLGILECIIGJ.z; Vector2 vector; ABCAKNAFPFC.x = vector; } throw new NullReferenceException(); } // Token: 0x060107A4 RID: 67492 RVA: 0x003DEAD4 File Offset: 0x003DCCD4 [Token(Token = "0x60107A4")] [Address(RVA = "0x1A62CF0", Offset = "0x1A616F0", VA = "0x181A62CF0")] private float OLGHNPJAPKF(float CLIPDDBCFHJ) { int num = 0; return Mathf.InverseLerp(0.02f, (float)num, CLIPDDBCFHJ); } // Token: 0x060107A5 RID: 67493 RVA: 0x003DEAF0 File Offset: 0x003DCCF0 [Token(Token = "0x60107A5")] [Address(RVA = "0x1A61F90", Offset = "0x1A60990", VA = "0x181A61F90")] private bool BNPPDDLLGEB(Vector3 OKLAMJMMHAF, Quaternion CKAAAFMONEH, Vector2 NGNACIBCFJP, float JDLIOHICNLB, out Vector3 AGPCONOLEHB) { Vector2 zero = Vector2.zero; DrawingSurface drawingSurface = this.k__BackingField; int num = 0; if (!(drawingSurface == num)) { Vector2 ncjlmgpahcc = this.NCJLMGPAHCC; float y = this.NCJLMGPAHCC.y; TimestampedRollingBufferVector3 apehgjnlmhf = this.APEHGJNLMHF; this.NCJLMGPAHCC = 0; this.NCJLMGPAHCC.y = (float)0; float time = Time.time; Vector3 vector; float z = vector.z; TimestampedRollingBufferVector3 apehgjnlmhf2 = this.APEHGJNLMHF; float time2 = Time.time; float time3 = Time.time; bool flag; if (!flag) { } Vector2 vector2 = this.k__BackingField.NormalizedBoardSpace(ncjlmgpahcc); float z2 = OKLAMJMMHAF.z; this.OnDestroy(); return true; } throw new NullReferenceException(); } // Token: 0x060107A6 RID: 67494 RVA: 0x003DEBAC File Offset: 0x003DCDAC [Token(Token = "0x60107A6")] [Address(RVA = "0x1A62790", Offset = "0x1A61190", VA = "0x181A62790")] private void NMFEHBBMAEC() { if (this.GPGPKKALPPB.Get() != 0) { AnimationCurve animationCurve = this.vibrationCurve; int num = 0; float num2 = animationCurve.Evaluate((float)num); float dmhejfffdlk = this.DMHEJFFFDLK; Tool tool = this.tool; int num3 = 0; if (tool != num3) { PlayerHand k__BackingField = this.tool.k__BackingField; int num4 = 0; if (k__BackingField != num4) { this.tool.k__BackingField.Vibrate(1, 0.5f); } } this.DMHEJFFFDLK = 0f; float deltaTime = Time.deltaTime; this.DMHEJFFFDLK = deltaTime; } } // Token: 0x060107A7 RID: 67495 RVA: 0x003DEC50 File Offset: 0x003DCE50 [Token(Token = "0x60107A7")] [Address(RVA = "0x1A625E0", Offset = "0x1A60FE0", VA = "0x181A625E0")] private void NKHKDPDHLLD() { RecRoomAudioClip recRoomAudioClip = this.brushDownClip; if (recRoomAudioClip != 0) { Transform transform = base.transform; int num = 0; int num2 = 0; SFXAudioSource sfxaudioSource = AudioManager.Play3DSFX(recRoomAudioClip, transform, num2, num); } Tool tool = this.tool; int num3 = 0; if (tool != num3) { PlayerHand k__BackingField = this.tool.k__BackingField; int num4 = 0; if (k__BackingField != num4) { this.tool.k__BackingField.Vibrate(1, 1f); } } } // Token: 0x060107A8 RID: 67496 RVA: 0x003DECD0 File Offset: 0x003DCED0 [Token(Token = "0x60107A8")] [Address(RVA = "0x1A624F0", Offset = "0x1A60EF0", VA = "0x181A624F0")] private void MPKNLGHLDEN() { Tool tool = this.tool; int num = 0; if (tool != num) { PlayerHand k__BackingField = this.tool.k__BackingField; int num2 = 0; if (k__BackingField != num2) { this.tool.k__BackingField.Vibrate(1, 1f); } } } // Token: 0x060107A9 RID: 67497 RVA: 0x003DED24 File Offset: 0x003DCF24 [Token(Token = "0x60107A9")] [Address(RVA = "0x1A61B50", Offset = "0x1A60550", VA = "0x181A61B50")] private void ADCHIMGGOOK() { for (;;) { RecRoomAudioClip recRoomAudioClip = this.brushLoopClip; if (recRoomAudioClip == 0) { return; } AudioClip audioClip = recRoomAudioClip.audioClip; int num = 0; if (audioClip == num) { return; } if (this.GPGPKKALPPB.Get() != 0) { break; } SFXAudioSource jgpdaejiifi = this.JGPDAEJIIFI; int num2 = 0; if (jgpdaejiifi != num2) { goto Block_4; } } SFXAudioSource jgpdaejiifi2 = this.JGPDAEJIIFI; int num3 = 0; if (jgpdaejiifi2 == num3) { RecRoomAudioClip recRoomAudioClip2 = this.brushLoopClip; Transform transform = base.transform; int num4 = 0; int num5 = 0; SFXAudioSource sfxaudioSource = AudioManager.Play3DSFX(recRoomAudioClip2, transform, num5, num4); this.JGPDAEJIIFI = sfxaudioSource; sfxaudioSource.Loop(); } return; Block_4: this.JGPDAEJIIFI.Stop(); this.JGPDAEJIIFI = (ulong)0L; } // Token: 0x060107AA RID: 67498 RVA: 0x003DEDDC File Offset: 0x003DCFDC [Token(Token = "0x60107AA")] [Address(RVA = "0x1A630C0", Offset = "0x1A61AC0", VA = "0x181A630C0")] protected DrawingToolBase() { int num = 0; this.maxDrawingOffset = 0.1f; this.minControlPointDistance = 0.001f; AnimationCurve animationCurve = AnimationCurve.Linear((float)num, 1f, 1f, 1f); this.vibrationCurve = animationCurve; this.minVelocityForVibrate = 0.001f; this.LMNMPICOEMJ = true; Vector2 zero = Vector2.zero; this.NCJLMGPAHCC = zero; this.NCJLMGPAHCC.y = (float)0; TimestampedRollingBufferVector3 timestampedRollingBufferVector = new TimestampedRollingBufferVector3(); this.APEHGJNLMHF = timestampedRollingBufferVector; Vector2 zero2 = Vector2.zero; Vector3 vector; float z = vector.z; this.CKHBHODLIDP.z = z; this.DMHEJFFFDLK = float.MaxValue; base..ctor(); } // Token: 0x0400AF84 RID: 44932 [Token(Token = "0x400AF84")] private const float GCOONGANBFK = 0.02f; // Token: 0x0400AF85 RID: 44933 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x400AF85")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)] private Tool tool; // Token: 0x0400AF86 RID: 44934 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x400AF86")] [SerializeField] [Header("Brush Properties")] private DrawingSurface.OMBBAPFJEDF _drawingSurfaceType; // Token: 0x0400AF87 RID: 44935 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x400AF87")] [SerializeField] private Transform _brushTip; // Token: 0x0400AF88 RID: 44936 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x400AF88")] [SerializeField] protected float maxDrawingOffset; // Token: 0x0400AF89 RID: 44937 [global::Cpp2IlInjected.FieldOffset(Offset = "0x5C")] [Token(Token = "0x400AF89")] [SerializeField] protected float minControlPointDistance; // Token: 0x0400AF8A RID: 44938 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x400AF8A")] [SerializeField] private AnimationCurve vibrationCurve; // Token: 0x0400AF8B RID: 44939 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x400AF8B")] [SerializeField] private float minVelocityForVibrate; // Token: 0x0400AF8C RID: 44940 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x400AF8C")] [SerializeField] private Material _drawingMaterial; // Token: 0x0400AF8D RID: 44941 [global::Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x400AF8D")] [SerializeField] private float soundVelocityThreshold; // Token: 0x0400AF8E RID: 44942 [global::Cpp2IlInjected.FieldOffset(Offset = "0x80")] [Token(Token = "0x400AF8E")] [SerializeField] private RecRoomAudioClip brushDownClip; // Token: 0x0400AF8F RID: 44943 [global::Cpp2IlInjected.FieldOffset(Offset = "0x88")] [Token(Token = "0x400AF8F")] [SerializeField] private RecRoomAudioClip brushLoopClip; // Token: 0x0400AF90 RID: 44944 [global::Cpp2IlInjected.FieldOffset(Offset = "0x90")] [Token(Token = "0x400AF90")] private SynchronizedField GPGPKKALPPB; // Token: 0x0400AF93 RID: 44947 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA4")] [Token(Token = "0x400AF93")] private Vector2 NCJLMGPAHCC; // Token: 0x0400AF94 RID: 44948 [global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")] [Token(Token = "0x400AF94")] private TimestampedRollingBufferVector3 APEHGJNLMHF; // Token: 0x0400AF95 RID: 44949 [global::Cpp2IlInjected.FieldOffset(Offset = "0xB8")] [Token(Token = "0x400AF95")] private Vector3 CKHBHODLIDP; // Token: 0x0400AF96 RID: 44950 [global::Cpp2IlInjected.FieldOffset(Offset = "0xC8")] [Token(Token = "0x400AF96")] private Material GBILNHKBMEA; // Token: 0x0400AF97 RID: 44951 [global::Cpp2IlInjected.FieldOffset(Offset = "0xD0")] [Token(Token = "0x400AF97")] private SFXAudioSource JGPDAEJIIFI; // Token: 0x0400AF98 RID: 44952 [global::Cpp2IlInjected.FieldOffset(Offset = "0xD8")] [Token(Token = "0x400AF98")] private float DMHEJFFFDLK; } }