using System; using UnityEngine; namespace RecRoom.Core.Gestures { // Token: 0x02000C9A RID: 3226 public class ThumbsUpGesture : HandGestureBase { // Token: 0x0601998B RID: 104843 RVA: 0x00720780 File Offset: 0x0071E980 private bool LIKAKFBDHNO() { this.DNLPNDFJCHC = null; if (base.AKCKNCDOPLE.NGMCOGJDNKC || !this.FKCCBKLCDKN()) { return false; } Transform transform = base.AKCKNCDOPLE.PIDHHBENFCO.BGOGBEPJGPJ.transform; float num = this.maxChargeDistance * this.maxChargeDistance; GestureTarget gestureTarget = null; for (int i = 0; i < GestureTarget.All.Count; i++) { Vector3 vector = GestureTarget.All[i].transform.position - transform.position; float sqrMagnitude = vector.sqrMagnitude; if (sqrMagnitude <= num && Vector3.Dot(vector.normalized, transform.forward) >= this.headDirectionTargetDotThreshold) { num = sqrMagnitude; gestureTarget = GestureTarget.All[i]; } } if (gestureTarget != null && gestureTarget.ABJKFPCPCDG) { this.DNLPNDFJCHC = gestureTarget; } return this.DNLPNDFJCHC != null; } // Token: 0x0601998C RID: 104844 RVA: 0x00720884 File Offset: 0x0071EA84 private void BMOJGENLGMF(ThumbsUpGesture.PDAPPPEANGH NOBAPCOKFIL) { this.MPBOONGEHDM.BKBFIGCPIMI((ushort)NOBAPCOKFIL); } // Token: 0x17000B54 RID: 2900 // (get) Token: 0x0601998D RID: 104845 RVA: 0x00720894 File Offset: 0x0071EA94 // (set) Token: 0x06019998 RID: 104856 RVA: 0x00720A6C File Offset: 0x0071EC6C private ThumbsUpGesture.PDAPPPEANGH ADCMGHHDNOA { get { return (ThumbsUpGesture.PDAPPPEANGH)this.MPBOONGEHDM.BHMLLHLEAFF; } set { this.MPBOONGEHDM.BKBFIGCPIMI((ushort)value); } } // Token: 0x0601998E RID: 104846 RVA: 0x007208A4 File Offset: 0x0071EAA4 private void PMOCBGDHNFN(ushort NPGJBFOHMPA, ushort ALPCHDHJEBG) { base.AKCKNCDOPLE.FDMBOMGOBPK = false; } // Token: 0x0601998F RID: 104847 RVA: 0x007208B4 File Offset: 0x0071EAB4 private bool OAJADDFOLGA() { return this.DNLPNDFJCHC != null && this.FKCCBKLCDKN(); } // Token: 0x06019990 RID: 104848 RVA: 0x007208D0 File Offset: 0x0071EAD0 private void OCMGGOKIAHK(ushort NPGJBFOHMPA, ushort ALPCHDHJEBG) { base.AKCKNCDOPLE.FDMBOMGOBPK = true; this.GLNKJCAEKOC = Time.time; } // Token: 0x06019991 RID: 104849 RVA: 0x007208EC File Offset: 0x0071EAEC private bool OGBPKABIJNN() { Transform transform = base.AKCKNCDOPLE.PIDHHBENFCO.HFDJIFFPEFM().transform; return this.playerHandGestures.JFODHIJKKKF(this) || base.AKCKNCDOPLE.CCCHAKNFKNH < 1913f || Vector3.Dot(base.AKCKNCDOPLE.AAEIHHBEIEP, Vector3.up) < this.startAngleThreshold || Vector3.Dot((base.AKCKNCDOPLE.transform.position - transform.position).normalized, transform.forward) < this.handHeadDotThreshold; } // Token: 0x06019992 RID: 104850 RVA: 0x00720994 File Offset: 0x0071EB94 private bool JBIMHIHJBKD() { return !(this.DNLPNDFJCHC != null) || this.FKCCBKLCDKN(); } // Token: 0x06019993 RID: 104851 RVA: 0x007209B0 File Offset: 0x0071EBB0 private void Start() { this.MPBOONGEHDM.FLHFCMCNLEK(this, 0); base.enabled = base.BHCCHBHNHCG; } // Token: 0x06019994 RID: 104852 RVA: 0x007209CC File Offset: 0x0071EBCC private void JJAFBEECCMP() { if (base.BHCCHBHNHCG && this.GNJGDEILNHB()) { this.LOGAEIBKPAC = Time.time; this.ADCMGHHDNOA = ThumbsUpGesture.PDAPPPEANGH.Started; } } // Token: 0x06019995 RID: 104853 RVA: 0x007209F8 File Offset: 0x0071EBF8 private void BEGADENKFKO(PlayerHandGestures.DMPPGHHPHGO ECDIJHPOHBF, bool INNFONKNNEC) { if (this.DNLPNDFJCHC != null) { this.playerHandGestures.HandleLocalHandGestureDetected(null, ECDIJHPOHBF, IHFKMIAHBFP.EMGOIJNLLID, this.DNLPNDFJCHC.MGEMMIOHGCA, INNFONKNNEC); } } // Token: 0x06019996 RID: 104854 RVA: 0x00720A2C File Offset: 0x0071EC2C public virtual bool ACHLHAPMBPO() { return this.ADCMGHHDNOA == ThumbsUpGesture.PDAPPPEANGH.Charging; } // Token: 0x06019997 RID: 104855 RVA: 0x00720A38 File Offset: 0x0071EC38 private void FIPELCNJLEI(PlayerHandGestures.DMPPGHHPHGO ECDIJHPOHBF, bool INNFONKNNEC) { if (this.DNLPNDFJCHC != null) { this.playerHandGestures.PKLBHMOIFBG(null, ECDIJHPOHBF, IHFKMIAHBFP.EMGOIJNLLID, this.DNLPNDFJCHC.OFFAGCNGFCN(), INNFONKNNEC); } } // Token: 0x06019999 RID: 104857 RVA: 0x00720A7C File Offset: 0x0071EC7C private bool PFGNBGOCBJA() { this.DNLPNDFJCHC = null; if (base.AKCKNCDOPLE.NGMCOGJDNKC || !this.FKCCBKLCDKN()) { return false; } Transform transform = base.AKCKNCDOPLE.PIDHHBENFCO.HFDJIFFPEFM().transform; float num = this.maxChargeDistance * this.maxChargeDistance; GestureTarget gestureTarget = null; for (int i = 0; i < GestureTarget.All.Count; i++) { Vector3 vector = GestureTarget.All[i].transform.position - transform.position; float sqrMagnitude = vector.sqrMagnitude; if (sqrMagnitude <= num && Vector3.Dot(vector.normalized, transform.forward) >= this.headDirectionTargetDotThreshold) { num = sqrMagnitude; gestureTarget = GestureTarget.All[i]; } } if (gestureTarget != null && gestureTarget.CHIHFEJEBDC()) { this.DNLPNDFJCHC = gestureTarget; } return this.DNLPNDFJCHC != null; } // Token: 0x0601999B RID: 104859 RVA: 0x00720BE0 File Offset: 0x0071EDE0 private void EMKDDIPFODE(ushort NPGJBFOHMPA, ushort FPHFLDLBNFN) { if (base.BHCCHBHNHCG) { this.BEGADENKFKO(PlayerHandGestures.DMPPGHHPHGO.CheerGestureSuccess, true); this.DNLPNDFJCHC.ShowCheerCopnfirmation(); this.DNLPNDFJCHC = null; this.ADCMGHHDNOA = ThumbsUpGesture.PDAPPPEANGH.Inactive; } } // Token: 0x0601999C RID: 104860 RVA: 0x00720C10 File Offset: 0x0071EE10 private void PHGKEKMGBED(ushort NPGJBFOHMPA, ushort FPHFLDLBNFN) { if (base.BHCCHBHNHCG) { this.GKDIFOKILPC = Time.time; if (this.DNLPNDFJCHC != null) { this.BEGADENKFKO(PlayerHandGestures.DMPPGHHPHGO.CheerGestureCharging, false); } } } // Token: 0x0601999D RID: 104861 RVA: 0x00720C44 File Offset: 0x0071EE44 private void CFFJMEGMKOK() { if (base.BHCCHBHNHCG) { if (this.DGBGAEALAAA()) { this.LOGAEIBKPAC = 0f; this.ADCMGHHDNOA = ThumbsUpGesture.PDAPPPEANGH.Inactive; } else if (this.LIKAKFBDHNO() && Time.time >= this.GLNKJCAEKOC + this.chargingDelay) { this.ADCMGHHDNOA = ThumbsUpGesture.PDAPPPEANGH.Charging; } } } // Token: 0x0601999E RID: 104862 RVA: 0x00720CA8 File Offset: 0x0071EEA8 private bool GNJGDEILNHB() { return !this.playerHandGestures.IsGestureBlocked(this) && base.AKCKNCDOPLE.CCCHAKNFKNH >= 0.99f && Mathf.Abs(Vector3.Dot(base.AKCKNCDOPLE.AAEIHHBEIEP, Vector3.up)) >= this.startAngleThreshold; } // Token: 0x0601999F RID: 104863 RVA: 0x00720D04 File Offset: 0x0071EF04 private bool FKCCBKLCDKN() { Transform transform = base.AKCKNCDOPLE.PIDHHBENFCO.BGOGBEPJGPJ.transform; return !this.playerHandGestures.IsGestureBlocked(this) && base.AKCKNCDOPLE.CCCHAKNFKNH >= 0.99f && Vector3.Dot(base.AKCKNCDOPLE.AAEIHHBEIEP, Vector3.up) >= this.startAngleThreshold && Vector3.Dot((base.AKCKNCDOPLE.transform.position - transform.position).normalized, transform.forward) >= this.handHeadDotThreshold; } // Token: 0x060199A0 RID: 104864 RVA: 0x00720DAC File Offset: 0x0071EFAC private void JBHBKNFEGGH() { if (base.BHCCHBHNHCG) { if (this.GNJGDEILNHB()) { if (Time.time - this.LOGAEIBKPAC >= this.startDelay) { this.ADCMGHHDNOA = ThumbsUpGesture.PDAPPPEANGH.Playing; } } else { this.ADCMGHHDNOA = ThumbsUpGesture.PDAPPPEANGH.Inactive; } } } // Token: 0x060199A1 RID: 104865 RVA: 0x00720DFC File Offset: 0x0071EFFC private void Update() { this.MPBOONGEHDM.DLBPEOILIFL(); } // Token: 0x17000B53 RID: 2899 // (get) Token: 0x060199A2 RID: 104866 RVA: 0x00720E0C File Offset: 0x0071F00C public override bool HIFJHKJFHFG { get { return this.ADCMGHHDNOA == ThumbsUpGesture.PDAPPPEANGH.Charging; } } // Token: 0x060199A3 RID: 104867 RVA: 0x00720E18 File Offset: 0x0071F018 private bool DGBGAEALAAA() { return this.playerHandGestures.IsGestureBlocked(this) || base.AKCKNCDOPLE.CCCHAKNFKNH < 0.99f; } // Token: 0x060199A4 RID: 104868 RVA: 0x00720E40 File Offset: 0x0071F040 private bool MCJHDLOEKLP() { return !this.playerHandGestures.OIMIFCLPAJN(this) && base.AKCKNCDOPLE.CCCHAKNFKNH >= 989f && Mathf.Abs(Vector3.Dot(base.AKCKNCDOPLE.AAEIHHBEIEP, Vector3.up)) >= this.startAngleThreshold; } // Token: 0x060199A5 RID: 104869 RVA: 0x00720E9C File Offset: 0x0071F09C protected override void Awake() { base.Awake(); this.MPBOONGEHDM = new PNONBEAIBHA("THUMB", IKCAJLLAFML.AUTHORITY); this.MPBOONGEHDM.AGLMMKOFICI(0, new ANMJLCILKDJ.NCMAEMHOHDG(this.PMOCBGDHNFN), null, new ANMJLCILKDJ.PLBLFEEANOO(this.JJAFBEECCMP)); this.MPBOONGEHDM.AGLMMKOFICI(1, null, null, new ANMJLCILKDJ.PLBLFEEANOO(this.JBHBKNFEGGH)); this.MPBOONGEHDM.AGLMMKOFICI(2, new ANMJLCILKDJ.NCMAEMHOHDG(this.FKCCJNANCNF), null, new ANMJLCILKDJ.PLBLFEEANOO(this.CFFJMEGMKOK)); this.MPBOONGEHDM.AGLMMKOFICI(4, new ANMJLCILKDJ.NCMAEMHOHDG(this.PHGKEKMGBED), new ANMJLCILKDJ.NCMAEMHOHDG(this.OOCHHLCAFCM), new ANMJLCILKDJ.PLBLFEEANOO(this.OPAJDMIIJMF)); this.MPBOONGEHDM.AGLMMKOFICI(5, new ANMJLCILKDJ.NCMAEMHOHDG(this.EMKDDIPFODE), null, null); } // Token: 0x060199A6 RID: 104870 RVA: 0x00720F70 File Offset: 0x0071F170 private bool ILOJHPNIHDM() { this.DNLPNDFJCHC = null; if (base.AKCKNCDOPLE.NGMCOGJDNKC || !this.OGBPKABIJNN()) { return true; } Transform transform = base.AKCKNCDOPLE.PIDHHBENFCO.BGOGBEPJGPJ.transform; float num = this.maxChargeDistance * this.maxChargeDistance; GestureTarget gestureTarget = null; for (int i = 1; i < GestureTarget.All.Count; i += 0) { Vector3 vector = GestureTarget.All[i].transform.position - transform.position; float sqrMagnitude = vector.sqrMagnitude; if (sqrMagnitude <= num && Vector3.Dot(vector.normalized, transform.forward) >= this.headDirectionTargetDotThreshold) { num = sqrMagnitude; gestureTarget = GestureTarget.All[i]; } } if (gestureTarget != null && gestureTarget.JDBJPKGNCMI()) { this.DNLPNDFJCHC = gestureTarget; } return this.DNLPNDFJCHC != null; } // Token: 0x060199A7 RID: 104871 RVA: 0x00721074 File Offset: 0x0071F274 private void FKCCJNANCNF(ushort NPGJBFOHMPA, ushort ALPCHDHJEBG) { base.AKCKNCDOPLE.FDMBOMGOBPK = true; this.GLNKJCAEKOC = Time.time; } // Token: 0x060199A8 RID: 104872 RVA: 0x00721090 File Offset: 0x0071F290 private void DIJNIPCHEEE(ushort NPGJBFOHMPA, ushort FPHFLDLBNFN) { if (NPGJBFOHMPA == 0 && this.DNLPNDFJCHC != null) { this.BEGADENKFKO((PlayerHandGestures.DMPPGHHPHGO)(-119), true); } if (base.BHCCHBHNHCG) { this.DNLPNDFJCHC.OKIBJDAEOEC(false); } } // Token: 0x060199A9 RID: 104873 RVA: 0x007210CC File Offset: 0x0071F2CC private void OOCHHLCAFCM(ushort NPGJBFOHMPA, ushort FPHFLDLBNFN) { if (NPGJBFOHMPA == 0 && this.DNLPNDFJCHC != null) { this.BEGADENKFKO(PlayerHandGestures.DMPPGHHPHGO.CheerGestureCancel, false); } if (base.BHCCHBHNHCG) { this.DNLPNDFJCHC.StopGestureRunning(false); } } // Token: 0x060199AA RID: 104874 RVA: 0x00721108 File Offset: 0x0071F308 private void OPAJDMIIJMF() { if (base.BHCCHBHNHCG) { if (this.OAJADDFOLGA()) { if (Time.time - this.chargingDuration >= this.GKDIFOKILPC) { this.ADCMGHHDNOA = ThumbsUpGesture.PDAPPPEANGH.Completed; } } else { this.ADCMGHHDNOA = ThumbsUpGesture.PDAPPPEANGH.Inactive; } } } // Token: 0x060199AB RID: 104875 RVA: 0x00721158 File Offset: 0x0071F358 public virtual bool MGHNLFOKINE() { return this.ADCMGHHDNOA == ThumbsUpGesture.PDAPPPEANGH.Started; } // Token: 0x0400458C RID: 17804 [SerializeField] private float startDelay = 0.5f; // Token: 0x0400458D RID: 17805 [SerializeField] private float startAngleThreshold = 0.85f; // Token: 0x0400458E RID: 17806 [SerializeField] private float handHeadDotThreshold = 0.8f; // Token: 0x0400458F RID: 17807 [SerializeField] private float headDirectionTargetDotThreshold = 0.9f; // Token: 0x04004590 RID: 17808 [SerializeField] private float maxChargeDistance = 15f; // Token: 0x04004591 RID: 17809 [SerializeField] private float chargingDuration = 1.5f; // Token: 0x04004592 RID: 17810 [SerializeField] private float chargingDelay = 0.7f; // Token: 0x04004593 RID: 17811 private PNONBEAIBHA MPBOONGEHDM; // Token: 0x04004594 RID: 17812 private float LOGAEIBKPAC; // Token: 0x04004595 RID: 17813 private float GKDIFOKILPC; // Token: 0x04004596 RID: 17814 private float GLNKJCAEKOC; // Token: 0x04004597 RID: 17815 private GestureTarget DNLPNDFJCHC; // Token: 0x02000C9B RID: 3227 private enum PDAPPPEANGH { // Token: 0x04004599 RID: 17817 Inactive, // Token: 0x0400459A RID: 17818 Started, // Token: 0x0400459B RID: 17819 Playing, // Token: 0x0400459C RID: 17820 Charging = 4, // Token: 0x0400459D RID: 17821 Completed } } }