using System; using System.Collections; using System.Diagnostics; using System.Runtime.CompilerServices; using System.Threading; using UnityEngine; // Token: 0x02000BC0 RID: 3008 public class StabilizedRigidbodyPickup : RigidbodyPickup { // Token: 0x06016D96 RID: 93590 RVA: 0x006608F8 File Offset: 0x0065EAF8 private Vector3 CMOMLHPLJBB() { return this.GOOIFEIJKLL.TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x06016D97 RID: 93591 RVA: 0x0066090C File Offset: 0x0065EB0C public Vector3 AJPHFJPDHLF() { Vector3 vector = (this.CBCDJCBJALH() - this.JOCPEJGANBB.position).normalized; if (Vector3.Dot(vector, base.transform.forward) < 1895f) { vector *= 329f; } return vector; } // Token: 0x06016D98 RID: 93592 RVA: 0x00660960 File Offset: 0x0065EB60 private void FKDEGAFMNPH(Quaternion IKIJCFPELOA) { this.ILDAKBIEANL(); this.EPEBCNIJKDB = base.StartCoroutine(this.OBPEHILNCIG(IKIJCFPELOA)); } // Token: 0x06016D99 RID: 93593 RVA: 0x0066097C File Offset: 0x0065EB7C public Transform INMEJIFDHJH() { return this.EOGNNKAAOHE; } // Token: 0x06016D9A RID: 93594 RVA: 0x00660984 File Offset: 0x0065EB84 private IEnumerator OAIKECFMIEL(Quaternion IKIJCFPELOA) { this.JEIBDPLEOJC = IKIJCFPELOA; float num = Quaternion.Angle(this.JEIBDPLEOJC, this.KOOANGEGLHH()); float num2 = num / this.returnToDestabilizedSpeed * 1.25f; float num3 = 0f; while (num3 < num2) { yield return new WaitForFixedUpdate(); num3 += Time.fixedDeltaTime; this.JEIBDPLEOJC = Quaternion.RotateTowards(this.JEIBDPLEOJC, this.KOOANGEGLHH(), this.returnToDestabilizedSpeed * Time.fixedDeltaTime); } this.EPEBCNIJKDB = null; yield break; } // Token: 0x170009F0 RID: 2544 // (get) Token: 0x06016D9B RID: 93595 RVA: 0x006609A8 File Offset: 0x0065EBA8 public override Quaternion INMMPMMNFJF { get { Quaternion targetRotation = base.INMMPMMNFJF; if (!this.MEMOPCOHPLE) { return targetRotation; } if (!(this.GOOIFEIJKLL == null)) { Vector3 vector = this.StabilizerOffsetRotation * this.GDGCNKJFCJP; Vector3 vector2 = targetRotation * Vector3.forward; if (Vector3.Angle(vector2, vector) >= this.separationAngle && this.DNAFPKNLEFK != null) { this.DNAFPKNLEFK(); } Vector3 vector3 = targetRotation * Vector3.up; return Quaternion.LookRotation(vector, vector3); } if (this.EPEBCNIJKDB != null) { return this.JEIBDPLEOJC; } return targetRotation; } } // Token: 0x06016D9C RID: 93596 RVA: 0x00660A48 File Offset: 0x0065EC48 private Quaternion PFPAIHOCCJI() { return base.CAPJFECFOME(); } // Token: 0x06016D9D RID: 93597 RVA: 0x00660A50 File Offset: 0x0065EC50 public Transform MMIGKGOILMK() { return this.EOGNNKAAOHE; } // Token: 0x06016D9E RID: 93598 RVA: 0x00660A58 File Offset: 0x0065EC58 public Transform FINKAEHEBGN() { return this.EOGNNKAAOHE; } // Token: 0x170009F1 RID: 2545 // (get) Token: 0x06016D9F RID: 93599 RVA: 0x00660A60 File Offset: 0x0065EC60 public Vector3 GDGCNKJFCJP { get { Vector3 vector = (this.PDPGNECABJG - this.JOCPEJGANBB.position).normalized; if (Vector3.Dot(vector, base.transform.forward) < 0f) { vector *= -1f; } return vector; } } // Token: 0x06016DA0 RID: 93600 RVA: 0x00660AB4 File Offset: 0x0065ECB4 public void CMJPJMCHMFM(Transform NOBAPCOKFIL) { if (NOBAPCOKFIL == null) { this.EOFPNAECKOG(this.GJLOMOIAHMP()); } else { this.DMCBKAENBMN(); } this.EOGNNKAAOHE = NOBAPCOKFIL; } // Token: 0x06016DA1 RID: 93601 RVA: 0x00660AE0 File Offset: 0x0065ECE0 public Transform HMHHDMDKLDG() { return this.EOGNNKAAOHE; } // Token: 0x06016DA2 RID: 93602 RVA: 0x00660AE8 File Offset: 0x0065ECE8 public void PMMDGKPCCJA(Transform NOBAPCOKFIL) { if (NOBAPCOKFIL == null) { this.CANMFEKEJPC(this.INMMPMMNFJF); } else { this.ABHGBLMBACA(); } this.EOGNNKAAOHE = NOBAPCOKFIL; } // Token: 0x06016DA3 RID: 93603 RVA: 0x00660B14 File Offset: 0x0065ED14 private Vector3 ODABFJDPMLL() { return this.PKADLNBNPHD().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x170009EF RID: 2543 // (get) Token: 0x06016DA4 RID: 93604 RVA: 0x00660B28 File Offset: 0x0065ED28 // (set) Token: 0x06016E06 RID: 93702 RVA: 0x00661DAC File Offset: 0x0065FFAC public Transform GOOIFEIJKLL { get { return this.EOGNNKAAOHE; } set { if (value == null) { this.FKDEGAFMNPH(this.INMMPMMNFJF); } else { this.ILDAKBIEANL(); } this.EOGNNKAAOHE = value; } } // Token: 0x06016DA5 RID: 93605 RVA: 0x00660B30 File Offset: 0x0065ED30 public void NBGOAMMAGPF(Action NOBAPCOKFIL) { Action action = this.DNAFPKNLEFK; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DNAFPKNLEFK, (Action)Delegate.Combine(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06016DA6 RID: 93606 RVA: 0x00660B68 File Offset: 0x0065ED68 private void GKMGOJFHEFP(Quaternion IKIJCFPELOA) { this.ILDAKBIEANL(); this.EPEBCNIJKDB = base.StartCoroutine(this.OBPEHILNCIG(IKIJCFPELOA)); } // Token: 0x06016DA7 RID: 93607 RVA: 0x00660B84 File Offset: 0x0065ED84 public Vector3 PFNFPAEJEFC() { Vector3 vector = (this.NJMNEFMGLLO() - this.JOCPEJGANBB.position).normalized; if (Vector3.Dot(vector, base.transform.forward) < 1931f) { vector *= 1169f; } return vector; } // Token: 0x06016DA8 RID: 93608 RVA: 0x00660BD8 File Offset: 0x0065EDD8 public Vector3 PJPMLBNFAHO() { Vector3 vector = (this.NJMNEFMGLLO() - this.JOCPEJGANBB.position).normalized; if (Vector3.Dot(vector, base.transform.forward) < 187f) { vector *= 707f; } return vector; } // Token: 0x06016DA9 RID: 93609 RVA: 0x00660C2C File Offset: 0x0065EE2C private void HOGBHELJHDE(Quaternion IKIJCFPELOA) { this.DMCBKAENBMN(); this.EPEBCNIJKDB = base.StartCoroutine(this.AFELAADIGAI(IKIJCFPELOA)); } // Token: 0x06016DAA RID: 93610 RVA: 0x00660C48 File Offset: 0x0065EE48 private void EOFPNAECKOG(Quaternion IKIJCFPELOA) { this.ILDAKBIEANL(); this.EPEBCNIJKDB = base.StartCoroutine(this.OAIKECFMIEL(IKIJCFPELOA)); } // Token: 0x06016DAB RID: 93611 RVA: 0x00660C64 File Offset: 0x0065EE64 private Vector3 CBCDJCBJALH() { return this.HNCCJBBFIIE().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x06016DAC RID: 93612 RVA: 0x00660C78 File Offset: 0x0065EE78 public Transform IHNLANFDDNA() { return this.EOGNNKAAOHE; } // Token: 0x06016DAD RID: 93613 RVA: 0x00660C80 File Offset: 0x0065EE80 public void BICGBHIMHPE(Action NOBAPCOKFIL) { Action action = this.DNAFPKNLEFK; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DNAFPKNLEFK, (Action)Delegate.Combine(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06016DAE RID: 93614 RVA: 0x00660CB8 File Offset: 0x0065EEB8 private IEnumerator AFELAADIGAI(Quaternion IKIJCFPELOA) { this.JEIBDPLEOJC = IKIJCFPELOA; num = Quaternion.Angle(this.JEIBDPLEOJC, this.KOOANGEGLHH()); num2 = num / this.returnToDestabilizedSpeed * 1.25f; num3 = 0f; while (num3 < num2) { yield return new WaitForFixedUpdate(); num3 += Time.fixedDeltaTime; this.JEIBDPLEOJC = Quaternion.RotateTowards(this.JEIBDPLEOJC, this.KOOANGEGLHH(), this.returnToDestabilizedSpeed * Time.fixedDeltaTime); } this.EPEBCNIJKDB = null; yield break; } // Token: 0x06016DAF RID: 93615 RVA: 0x00660CDC File Offset: 0x0065EEDC public Transform LPMJJGGGPKK() { return this.EOGNNKAAOHE; } // Token: 0x06016DB0 RID: 93616 RVA: 0x00660CE4 File Offset: 0x0065EEE4 private void CANMFEKEJPC(Quaternion IKIJCFPELOA) { this.FHFPKKJBCOE(); this.EPEBCNIJKDB = base.StartCoroutine(this.MJIMPLOIPCK(IKIJCFPELOA)); } // Token: 0x06016DB1 RID: 93617 RVA: 0x00660D00 File Offset: 0x0065EF00 private void HIPGKALPBNI(Quaternion IKIJCFPELOA) { this.FOMEFDIAJPH(); this.EPEBCNIJKDB = base.StartCoroutine(this.OAIKECFMIEL(IKIJCFPELOA)); } // Token: 0x06016DB2 RID: 93618 RVA: 0x00660D1C File Offset: 0x0065EF1C [DebuggerHidden] [CompilerGenerated] private Quaternion KOOANGEGLHH() { return base.INMMPMMNFJF; } // Token: 0x06016DB3 RID: 93619 RVA: 0x00660D24 File Offset: 0x0065EF24 private Vector3 PIDKKHJMIOJ() { return this.MMIGKGOILMK().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x06016DB4 RID: 93620 RVA: 0x00660D38 File Offset: 0x0065EF38 private Vector3 NJMNEFMGLLO() { return this.INMEJIFDHJH().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x06016DB5 RID: 93621 RVA: 0x00660D4C File Offset: 0x0065EF4C public virtual Quaternion GKJFMCNKKME() { Quaternion targetRotation = base.INMMPMMNFJF; if (!this.MEOKHJEHNEP()) { return targetRotation; } if (!(this.FINKAEHEBGN() == null)) { Vector3 vector = this.StabilizerOffsetRotation * this.JGJPPMFPHFJ(); Vector3 vector2 = targetRotation * Vector3.forward; if (Vector3.Angle(vector2, vector) >= this.separationAngle && this.DNAFPKNLEFK != null) { this.DNAFPKNLEFK(); } Vector3 vector3 = targetRotation * Vector3.up; return Quaternion.LookRotation(vector, vector3); } if (this.EPEBCNIJKDB != null) { return this.JEIBDPLEOJC; } return targetRotation; } // Token: 0x06016DB6 RID: 93622 RVA: 0x00660DEC File Offset: 0x0065EFEC private Vector3 OGCDDPGDPLB() { return this.PKADLNBNPHD().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x140000C0 RID: 192 // (add) Token: 0x06016DC7 RID: 93639 RVA: 0x00661138 File Offset: 0x0065F338 // (remove) Token: 0x06016DB7 RID: 93623 RVA: 0x00660E00 File Offset: 0x0065F000 [field: DebuggerBrowsable(DebuggerBrowsableState.Never)] public event Action DNAFPKNLEFK; // Token: 0x06016DB8 RID: 93624 RVA: 0x00660E38 File Offset: 0x0065F038 public virtual Quaternion MKOLFCDOJOH() { Quaternion quaternion = base.FJHEHAJCKKG(); if (!this.MEOKHJEHNEP()) { return quaternion; } if (!(this.INMEJIFDHJH() == null)) { Vector3 vector = this.StabilizerOffsetRotation * this.PFNFPAEJEFC(); Vector3 vector2 = quaternion * Vector3.forward; if (Vector3.Angle(vector2, vector) >= this.separationAngle && this.DNAFPKNLEFK != null) { this.DNAFPKNLEFK(); } Vector3 vector3 = quaternion * Vector3.up; return Quaternion.LookRotation(vector, vector3); } if (this.EPEBCNIJKDB != null) { return this.JEIBDPLEOJC; } return quaternion; } // Token: 0x06016DB9 RID: 93625 RVA: 0x00660ED8 File Offset: 0x0065F0D8 private void LMEOMLILGCG(Quaternion IKIJCFPELOA) { this.FOMEFDIAJPH(); this.EPEBCNIJKDB = base.StartCoroutine(this.MJIMPLOIPCK(IKIJCFPELOA)); } // Token: 0x06016DBA RID: 93626 RVA: 0x00660EF4 File Offset: 0x0065F0F4 private Quaternion IINGINBEDDP() { return base.GJLOMOIAHMP(); } // Token: 0x06016DBB RID: 93627 RVA: 0x00660EFC File Offset: 0x0065F0FC private Quaternion OMEELEPOJKO() { return base.CAPJFECFOME(); } // Token: 0x06016DBC RID: 93628 RVA: 0x00660F04 File Offset: 0x0065F104 public void IOLPDDNBKAG(Transform NOBAPCOKFIL) { if (NOBAPCOKFIL == null) { this.CANMFEKEJPC(this.CAPJFECFOME()); } else { this.ABHGBLMBACA(); } this.EOGNNKAAOHE = NOBAPCOKFIL; } // Token: 0x06016DBD RID: 93629 RVA: 0x00660F30 File Offset: 0x0065F130 private Vector3 DHJOGPFHBID() { return this.INMEJIFDHJH().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x06016DBE RID: 93630 RVA: 0x00660F44 File Offset: 0x0065F144 private Vector3 DKPOHHLPFJM() { return this.IHNLANFDDNA().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x06016DBF RID: 93631 RVA: 0x00660F58 File Offset: 0x0065F158 public virtual Quaternion LGEFLNBBCFG() { Quaternion quaternion = base.MGKEEGDPIKK(); if (!this.MEMOPCOHPLE) { return quaternion; } if (!(this.PKADLNBNPHD() == null)) { Vector3 vector = this.StabilizerOffsetRotation * this.FJOPICFLHCG(); Vector3 vector2 = quaternion * Vector3.forward; if (Vector3.Angle(vector2, vector) >= this.separationAngle && this.DNAFPKNLEFK != null) { this.DNAFPKNLEFK(); } Vector3 vector3 = quaternion * Vector3.up; return Quaternion.LookRotation(vector, vector3); } if (this.EPEBCNIJKDB != null) { return this.JEIBDPLEOJC; } return quaternion; } // Token: 0x06016DC0 RID: 93632 RVA: 0x00660FF8 File Offset: 0x0065F1F8 public void NGGJGFKKCJP(Transform NOBAPCOKFIL) { if (NOBAPCOKFIL == null) { this.EBOJLFJGICB(this.INMMPMMNFJF); } else { this.FHFPKKJBCOE(); } this.EOGNNKAAOHE = NOBAPCOKFIL; } // Token: 0x06016DC1 RID: 93633 RVA: 0x00661024 File Offset: 0x0065F224 public Vector3 FFHIAFICMMG() { Vector3 vector = (this.OGCDDPGDPLB() - this.JOCPEJGANBB.position).normalized; if (Vector3.Dot(vector, base.transform.forward) < 581f) { vector *= 407f; } return vector; } // Token: 0x06016DC2 RID: 93634 RVA: 0x00661078 File Offset: 0x0065F278 public void EHEABGEJKLH(Action NOBAPCOKFIL) { Action action = this.DNAFPKNLEFK; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DNAFPKNLEFK, (Action)Delegate.Combine(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06016DC4 RID: 93636 RVA: 0x006610F0 File Offset: 0x0065F2F0 private Quaternion HKACMAPLIDA() { return base.INMMPMMNFJF; } // Token: 0x06016DC5 RID: 93637 RVA: 0x006610F8 File Offset: 0x0065F2F8 public Transform DCHHPCEHDKO() { return this.EOGNNKAAOHE; } // Token: 0x06016DC6 RID: 93638 RVA: 0x00661100 File Offset: 0x0065F300 public void JAIAEGGAACG(Action NOBAPCOKFIL) { Action action = this.DNAFPKNLEFK; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DNAFPKNLEFK, (Action)Delegate.Remove(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06016DC8 RID: 93640 RVA: 0x00661170 File Offset: 0x0065F370 public virtual Quaternion ADPPCNEIFML() { Quaternion quaternion = base.MGKEEGDPIKK(); if (!this.MEOKHJEHNEP()) { return quaternion; } if (!(this.BCIBMHJLAKA() == null)) { Vector3 vector = this.StabilizerOffsetRotation * this.PJPMLBNFAHO(); Vector3 vector2 = quaternion * Vector3.forward; if (Vector3.Angle(vector2, vector) >= this.separationAngle && this.DNAFPKNLEFK != null) { this.DNAFPKNLEFK(); } Vector3 vector3 = quaternion * Vector3.up; return Quaternion.LookRotation(vector, vector3); } if (this.EPEBCNIJKDB != null) { return this.JEIBDPLEOJC; } return quaternion; } // Token: 0x06016DC9 RID: 93641 RVA: 0x00661210 File Offset: 0x0065F410 private Vector3 PJKOEJBHDHH() { return this.HNCCJBBFIIE().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x06016DCA RID: 93642 RVA: 0x00661224 File Offset: 0x0065F424 public virtual Quaternion HCJFEAINIPM() { Quaternion targetRotation = base.INMMPMMNFJF; if (!this.MEMOPCOHPLE) { return targetRotation; } if (!(this.BCIBMHJLAKA() == null)) { Vector3 vector = this.StabilizerOffsetRotation * this.GDGCNKJFCJP; Vector3 vector2 = targetRotation * Vector3.forward; if (Vector3.Angle(vector2, vector) >= this.separationAngle && this.DNAFPKNLEFK != null) { this.DNAFPKNLEFK(); } Vector3 vector3 = targetRotation * Vector3.up; return Quaternion.LookRotation(vector, vector3); } if (this.EPEBCNIJKDB != null) { return this.JEIBDPLEOJC; } return targetRotation; } // Token: 0x06016DCB RID: 93643 RVA: 0x006612C4 File Offset: 0x0065F4C4 public void CICIPOMCMML(Action NOBAPCOKFIL) { Action action = this.DNAFPKNLEFK; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DNAFPKNLEFK, (Action)Delegate.Combine(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06016DCC RID: 93644 RVA: 0x006612FC File Offset: 0x0065F4FC private IEnumerator OBPEHILNCIG(Quaternion IKIJCFPELOA) { this.JEIBDPLEOJC = IKIJCFPELOA; num = Quaternion.Angle(this.JEIBDPLEOJC, this.KOOANGEGLHH()); num2 = num / this.returnToDestabilizedSpeed * 1.25f; num3 = 0f; while (num3 < num2) { yield return new WaitForFixedUpdate(); num3 += Time.fixedDeltaTime; this.JEIBDPLEOJC = Quaternion.RotateTowards(this.JEIBDPLEOJC, this.KOOANGEGLHH(), this.returnToDestabilizedSpeed * Time.fixedDeltaTime); } this.EPEBCNIJKDB = null; yield break; } // Token: 0x06016DCD RID: 93645 RVA: 0x00661320 File Offset: 0x0065F520 public void DKAOADJJJFH(Action NOBAPCOKFIL) { Action action = this.DNAFPKNLEFK; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DNAFPKNLEFK, (Action)Delegate.Remove(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06016DCE RID: 93646 RVA: 0x00661358 File Offset: 0x0065F558 private void DMCBKAENBMN() { if (this.EPEBCNIJKDB != null) { base.StopCoroutine(this.EPEBCNIJKDB); this.EPEBCNIJKDB = null; } } // Token: 0x06016DCF RID: 93647 RVA: 0x00661378 File Offset: 0x0065F578 private void ILDAKBIEANL() { if (this.EPEBCNIJKDB != null) { base.StopCoroutine(this.EPEBCNIJKDB); this.EPEBCNIJKDB = null; } } // Token: 0x06016DD0 RID: 93648 RVA: 0x00661398 File Offset: 0x0065F598 private IEnumerator FJAHGAKHLBO(Quaternion IKIJCFPELOA) { this.JEIBDPLEOJC = IKIJCFPELOA; num = Quaternion.Angle(this.JEIBDPLEOJC, this.KOOANGEGLHH()); num2 = num / this.returnToDestabilizedSpeed * 1.25f; num3 = 0f; while (num3 < num2) { yield return new WaitForFixedUpdate(); num3 += Time.fixedDeltaTime; this.JEIBDPLEOJC = Quaternion.RotateTowards(this.JEIBDPLEOJC, this.KOOANGEGLHH(), this.returnToDestabilizedSpeed * Time.fixedDeltaTime); } this.EPEBCNIJKDB = null; yield break; } // Token: 0x06016DD1 RID: 93649 RVA: 0x006613BC File Offset: 0x0065F5BC public Vector3 JGJPPMFPHFJ() { Vector3 vector = (this.DGICHGFKNMN() - this.JOCPEJGANBB.position).normalized; if (Vector3.Dot(vector, base.transform.forward) < 851f) { vector *= 1232f; } return vector; } // Token: 0x06016DD2 RID: 93650 RVA: 0x00661410 File Offset: 0x0065F610 private Vector3 DGICHGFKNMN() { return this.MMIGKGOILMK().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x06016DD3 RID: 93651 RVA: 0x00661424 File Offset: 0x0065F624 private IEnumerator PPKFGNLENFE(Quaternion IKIJCFPELOA) { this.JEIBDPLEOJC = IKIJCFPELOA; num = Quaternion.Angle(this.JEIBDPLEOJC, this.KOOANGEGLHH()); num2 = num / this.returnToDestabilizedSpeed * 1.25f; num3 = 0f; while (num3 < num2) { yield return new WaitForFixedUpdate(); num3 += Time.fixedDeltaTime; this.JEIBDPLEOJC = Quaternion.RotateTowards(this.JEIBDPLEOJC, this.KOOANGEGLHH(), this.returnToDestabilizedSpeed * Time.fixedDeltaTime); } this.EPEBCNIJKDB = null; yield break; } // Token: 0x06016DD4 RID: 93652 RVA: 0x00661448 File Offset: 0x0065F648 private void MHFINJMLFPF(Quaternion IKIJCFPELOA) { this.EEFKAHBNFMB(); this.EPEBCNIJKDB = base.StartCoroutine(this.ODEOKBEPJIG(IKIJCFPELOA)); } // Token: 0x06016DD5 RID: 93653 RVA: 0x00661464 File Offset: 0x0065F664 public Transform HNCCJBBFIIE() { return this.EOGNNKAAOHE; } // Token: 0x06016DD6 RID: 93654 RVA: 0x0066146C File Offset: 0x0065F66C private Vector3 AMBKCNKPEDO() { return this.HMHHDMDKLDG().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x06016DD7 RID: 93655 RVA: 0x00661480 File Offset: 0x0065F680 private IEnumerator IILLOJCCPIH(Quaternion IKIJCFPELOA) { this.JEIBDPLEOJC = IKIJCFPELOA; num = Quaternion.Angle(this.JEIBDPLEOJC, this.KOOANGEGLHH()); num2 = num / this.returnToDestabilizedSpeed * 1.25f; num3 = 0f; while (num3 < num2) { yield return new WaitForFixedUpdate(); num3 += Time.fixedDeltaTime; this.JEIBDPLEOJC = Quaternion.RotateTowards(this.JEIBDPLEOJC, this.KOOANGEGLHH(), this.returnToDestabilizedSpeed * Time.fixedDeltaTime); } this.EPEBCNIJKDB = null; yield break; } // Token: 0x06016DD8 RID: 93656 RVA: 0x006614A4 File Offset: 0x0065F6A4 public virtual Quaternion FLFFACLGOIL() { Quaternion quaternion = base.FJHEHAJCKKG(); if (!this.MEMOPCOHPLE) { return quaternion; } if (!(this.HMHHDMDKLDG() == null)) { Vector3 vector = this.StabilizerOffsetRotation * this.PJPMLBNFAHO(); Vector3 vector2 = quaternion * Vector3.forward; if (Vector3.Angle(vector2, vector) >= this.separationAngle && this.DNAFPKNLEFK != null) { this.DNAFPKNLEFK(); } Vector3 vector3 = quaternion * Vector3.up; return Quaternion.LookRotation(vector, vector3); } if (this.EPEBCNIJKDB != null) { return this.JEIBDPLEOJC; } return quaternion; } // Token: 0x06016DD9 RID: 93657 RVA: 0x00661544 File Offset: 0x0065F744 public Vector3 FJOPICFLHCG() { Vector3 vector = (this.PDPGNECABJG - this.JOCPEJGANBB.position).normalized; if (Vector3.Dot(vector, base.transform.forward) < 1735f) { vector *= 1901f; } return vector; } // Token: 0x06016DDA RID: 93658 RVA: 0x00661598 File Offset: 0x0065F798 public Transform PKADLNBNPHD() { return this.EOGNNKAAOHE; } // Token: 0x06016DDB RID: 93659 RVA: 0x006615A0 File Offset: 0x0065F7A0 public void CBJFGLECFII(Action NOBAPCOKFIL) { Action action = this.DNAFPKNLEFK; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DNAFPKNLEFK, (Action)Delegate.Combine(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06016DDC RID: 93660 RVA: 0x006615D8 File Offset: 0x0065F7D8 public Vector3 GMBDLENHIMF() { Vector3 vector = (this.OLOFCDFLPFP() - this.JOCPEJGANBB.position).normalized; if (Vector3.Dot(vector, base.transform.forward) < 371f) { vector *= 1287f; } return vector; } // Token: 0x06016DDD RID: 93661 RVA: 0x0066162C File Offset: 0x0065F82C private Quaternion OPJHHAPPIBH() { return base.FJHEHAJCKKG(); } // Token: 0x06016DDE RID: 93662 RVA: 0x00661634 File Offset: 0x0065F834 private Quaternion HDPIHMBFHMH() { return base.CAPJFECFOME(); } // Token: 0x06016DDF RID: 93663 RVA: 0x0066163C File Offset: 0x0065F83C private void BDKFEEAMBCA() { if (this.EPEBCNIJKDB != null) { base.StopCoroutine(this.EPEBCNIJKDB); this.EPEBCNIJKDB = null; } } // Token: 0x06016DE0 RID: 93664 RVA: 0x0066165C File Offset: 0x0065F85C private Vector3 FJGBMKLAHKD() { return this.DCHHPCEHDKO().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x06016DE1 RID: 93665 RVA: 0x00661670 File Offset: 0x0065F870 public void GFGKGMKIFKC(Action NOBAPCOKFIL) { Action action = this.DNAFPKNLEFK; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DNAFPKNLEFK, (Action)Delegate.Combine(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06016DE2 RID: 93666 RVA: 0x006616A8 File Offset: 0x0065F8A8 private Vector3 MEKFGCPEFGN() { return this.LPMJJGGGPKK().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x06016DE3 RID: 93667 RVA: 0x006616BC File Offset: 0x0065F8BC public Transform IIPMPAHBLPO() { return this.EOGNNKAAOHE; } // Token: 0x06016DE4 RID: 93668 RVA: 0x006616C4 File Offset: 0x0065F8C4 private void FHFPKKJBCOE() { if (this.EPEBCNIJKDB != null) { base.StopCoroutine(this.EPEBCNIJKDB); this.EPEBCNIJKDB = null; } } // Token: 0x06016DE5 RID: 93669 RVA: 0x006616E4 File Offset: 0x0065F8E4 public void OGKHBNLHKEO(Action NOBAPCOKFIL) { Action action = this.DNAFPKNLEFK; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DNAFPKNLEFK, (Action)Delegate.Combine(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06016DE6 RID: 93670 RVA: 0x0066171C File Offset: 0x0065F91C private Quaternion CIOANICIGEA() { return base.FJHEHAJCKKG(); } // Token: 0x06016DE7 RID: 93671 RVA: 0x00661724 File Offset: 0x0065F924 private void EAEJCOOMJHH(Quaternion IKIJCFPELOA) { this.ILDAKBIEANL(); this.EPEBCNIJKDB = base.StartCoroutine(this.IILLOJCCPIH(IKIJCFPELOA)); } // Token: 0x06016DE8 RID: 93672 RVA: 0x00661740 File Offset: 0x0065F940 private Quaternion AHEHCBBDCOP() { return base.FJHEHAJCKKG(); } // Token: 0x06016DE9 RID: 93673 RVA: 0x00661748 File Offset: 0x0065F948 public void MDKLEHMEPCG(Transform NOBAPCOKFIL) { if (NOBAPCOKFIL == null) { this.EAEJCOOMJHH(this.CAPJFECFOME()); } else { this.ABHGBLMBACA(); } this.EOGNNKAAOHE = NOBAPCOKFIL; } // Token: 0x06016DEA RID: 93674 RVA: 0x00661774 File Offset: 0x0065F974 private void MNDCFONIJNM(Quaternion IKIJCFPELOA) { this.EEFKAHBNFMB(); this.EPEBCNIJKDB = base.StartCoroutine(this.AFELAADIGAI(IKIJCFPELOA)); } // Token: 0x06016DEB RID: 93675 RVA: 0x00661790 File Offset: 0x0065F990 private void EBOJLFJGICB(Quaternion IKIJCFPELOA) { this.FHFPKKJBCOE(); this.EPEBCNIJKDB = base.StartCoroutine(this.FJAHGAKHLBO(IKIJCFPELOA)); } // Token: 0x06016DEC RID: 93676 RVA: 0x006617AC File Offset: 0x0065F9AC public virtual Quaternion OOHMJPDCCBF() { Quaternion quaternion = base.FJHEHAJCKKG(); if (!this.MEOKHJEHNEP()) { return quaternion; } if (!(this.IIPMPAHBLPO() == null)) { Vector3 vector = this.StabilizerOffsetRotation * this.GDGCNKJFCJP; Vector3 vector2 = quaternion * Vector3.forward; if (Vector3.Angle(vector2, vector) >= this.separationAngle && this.DNAFPKNLEFK != null) { this.DNAFPKNLEFK(); } Vector3 vector3 = quaternion * Vector3.up; return Quaternion.LookRotation(vector, vector3); } if (this.EPEBCNIJKDB != null) { return this.JEIBDPLEOJC; } return quaternion; } // Token: 0x06016DED RID: 93677 RVA: 0x0066184C File Offset: 0x0065FA4C public void BKINFAGPPJJ(Action NOBAPCOKFIL) { Action action = this.DNAFPKNLEFK; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DNAFPKNLEFK, (Action)Delegate.Combine(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06016DEE RID: 93678 RVA: 0x00661884 File Offset: 0x0065FA84 public virtual Quaternion CAHBBHFBHLN() { Quaternion targetRotation = base.INMMPMMNFJF; if (!this.MEMOPCOHPLE) { return targetRotation; } if (!(this.PKADLNBNPHD() == null)) { Vector3 vector = this.StabilizerOffsetRotation * this.AJPHFJPDHLF(); Vector3 vector2 = targetRotation * Vector3.forward; if (Vector3.Angle(vector2, vector) >= this.separationAngle && this.DNAFPKNLEFK != null) { this.DNAFPKNLEFK(); } Vector3 vector3 = targetRotation * Vector3.up; return Quaternion.LookRotation(vector, vector3); } if (this.EPEBCNIJKDB != null) { return this.JEIBDPLEOJC; } return targetRotation; } // Token: 0x06016DEF RID: 93679 RVA: 0x00661924 File Offset: 0x0065FB24 public void AKJCLBDPPFC(Action NOBAPCOKFIL) { Action action = this.DNAFPKNLEFK; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DNAFPKNLEFK, (Action)Delegate.Remove(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06016DF0 RID: 93680 RVA: 0x0066195C File Offset: 0x0065FB5C public Transform CMEPKIOLDMD() { return this.EOGNNKAAOHE; } // Token: 0x06016DF1 RID: 93681 RVA: 0x00661964 File Offset: 0x0065FB64 public virtual Quaternion COLLKDBDKHE() { Quaternion quaternion = base.MGKEEGDPIKK(); if (!this.MEOKHJEHNEP()) { return quaternion; } if (!(this.IHNLANFDDNA() == null)) { Vector3 vector = this.StabilizerOffsetRotation * this.GMBDLENHIMF(); Vector3 vector2 = quaternion * Vector3.forward; if (Vector3.Angle(vector2, vector) >= this.separationAngle && this.DNAFPKNLEFK != null) { this.DNAFPKNLEFK(); } Vector3 vector3 = quaternion * Vector3.up; return Quaternion.LookRotation(vector, vector3); } if (this.EPEBCNIJKDB != null) { return this.JEIBDPLEOJC; } return quaternion; } // Token: 0x06016DF2 RID: 93682 RVA: 0x00661A04 File Offset: 0x0065FC04 private IEnumerator MJIMPLOIPCK(Quaternion IKIJCFPELOA) { this.JEIBDPLEOJC = IKIJCFPELOA; num = Quaternion.Angle(this.JEIBDPLEOJC, this.KOOANGEGLHH()); num2 = num / this.returnToDestabilizedSpeed * 1.25f; num3 = 0f; while (num3 < num2) { yield return new WaitForFixedUpdate(); num3 += Time.fixedDeltaTime; this.JEIBDPLEOJC = Quaternion.RotateTowards(this.JEIBDPLEOJC, this.KOOANGEGLHH(), this.returnToDestabilizedSpeed * Time.fixedDeltaTime); } this.EPEBCNIJKDB = null; yield break; } // Token: 0x06016DF3 RID: 93683 RVA: 0x00661A28 File Offset: 0x0065FC28 public void LAEJPCFNPND(Transform NOBAPCOKFIL) { if (NOBAPCOKFIL == null) { this.EBOJLFJGICB(this.INMMPMMNFJF); } else { this.FOMEFDIAJPH(); } this.EOGNNKAAOHE = NOBAPCOKFIL; } // Token: 0x06016DF4 RID: 93684 RVA: 0x00661A54 File Offset: 0x0065FC54 private void EEFKAHBNFMB() { if (this.EPEBCNIJKDB != null) { base.StopCoroutine(this.EPEBCNIJKDB); this.EPEBCNIJKDB = null; } } // Token: 0x06016DF5 RID: 93685 RVA: 0x00661A74 File Offset: 0x0065FC74 public Transform NHMLBEIIBON() { return this.EOGNNKAAOHE; } // Token: 0x06016DF6 RID: 93686 RVA: 0x00661A7C File Offset: 0x0065FC7C private Vector3 EFFOGOBCKIJ() { return this.LPMJJGGGPKK().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x06016DF7 RID: 93687 RVA: 0x00661A90 File Offset: 0x0065FC90 public Vector3 MNJPGDENOEF() { Vector3 vector = (this.PDPGNECABJG - this.JOCPEJGANBB.position).normalized; if (Vector3.Dot(vector, base.transform.forward) < 1171f) { vector *= 707f; } return vector; } // Token: 0x06016DF8 RID: 93688 RVA: 0x00661AE4 File Offset: 0x0065FCE4 public void BCJNNDPAACD(Transform NOBAPCOKFIL) { if (NOBAPCOKFIL == null) { this.LMEOMLILGCG(this.MGKEEGDPIKK()); } else { this.DMCBKAENBMN(); } this.EOGNNKAAOHE = NOBAPCOKFIL; } // Token: 0x06016DF9 RID: 93689 RVA: 0x00661B10 File Offset: 0x0065FD10 private Quaternion FCEGHEJBIFB() { return base.GJLOMOIAHMP(); } // Token: 0x06016DFA RID: 93690 RVA: 0x00661B18 File Offset: 0x0065FD18 public Transform CEPOPJLKGNJ() { return this.EOGNNKAAOHE; } // Token: 0x06016DFB RID: 93691 RVA: 0x00661B20 File Offset: 0x0065FD20 private void FOMEFDIAJPH() { if (this.EPEBCNIJKDB != null) { base.StopCoroutine(this.EPEBCNIJKDB); this.EPEBCNIJKDB = null; } } // Token: 0x06016DFC RID: 93692 RVA: 0x00661B40 File Offset: 0x0065FD40 private IEnumerator DIDEGJELNBL(Quaternion IKIJCFPELOA) { this.JEIBDPLEOJC = IKIJCFPELOA; num = Quaternion.Angle(this.JEIBDPLEOJC, this.KOOANGEGLHH()); num2 = num / this.returnToDestabilizedSpeed * 1.25f; num3 = 0f; while (num3 < num2) { yield return new WaitForFixedUpdate(); num3 += Time.fixedDeltaTime; this.JEIBDPLEOJC = Quaternion.RotateTowards(this.JEIBDPLEOJC, this.KOOANGEGLHH(), this.returnToDestabilizedSpeed * Time.fixedDeltaTime); } this.EPEBCNIJKDB = null; yield break; } // Token: 0x170009F2 RID: 2546 // (get) Token: 0x06016DFD RID: 93693 RVA: 0x00661B64 File Offset: 0x0065FD64 private Vector3 PDPGNECABJG { get { return this.GOOIFEIJKLL.TransformPoint(this.StabilizerOffsetPosition); } } // Token: 0x06016DFE RID: 93694 RVA: 0x00661B78 File Offset: 0x0065FD78 public void AHHENAOJJKF(Transform NOBAPCOKFIL) { if (NOBAPCOKFIL == null) { this.MNDCFONIJNM(this.GJLOMOIAHMP()); } else { this.ABHGBLMBACA(); } this.EOGNNKAAOHE = NOBAPCOKFIL; } // Token: 0x06016DFF RID: 93695 RVA: 0x00661BA4 File Offset: 0x0065FDA4 public virtual Quaternion BKIBKKKPMBO() { Quaternion quaternion = base.FJHEHAJCKKG(); if (!this.MEMOPCOHPLE) { return quaternion; } if (!(this.IHNLANFDDNA() == null)) { Vector3 vector = this.StabilizerOffsetRotation * this.FFHIAFICMMG(); Vector3 vector2 = quaternion * Vector3.forward; if (Vector3.Angle(vector2, vector) >= this.separationAngle && this.DNAFPKNLEFK != null) { this.DNAFPKNLEFK(); } Vector3 vector3 = quaternion * Vector3.up; return Quaternion.LookRotation(vector, vector3); } if (this.EPEBCNIJKDB != null) { return this.JEIBDPLEOJC; } return quaternion; } // Token: 0x06016E00 RID: 93696 RVA: 0x00661C44 File Offset: 0x0065FE44 public void HALDPNHLBDO(Action NOBAPCOKFIL) { Action action = this.DNAFPKNLEFK; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DNAFPKNLEFK, (Action)Delegate.Remove(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06016E01 RID: 93697 RVA: 0x00661C7C File Offset: 0x0065FE7C public void EJGODGCCHBN(Action NOBAPCOKFIL) { Action action = this.DNAFPKNLEFK; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DNAFPKNLEFK, (Action)Delegate.Combine(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06016E02 RID: 93698 RVA: 0x00661CB4 File Offset: 0x0065FEB4 public virtual Quaternion FNAJGFBDHPL() { Quaternion quaternion = base.GJLOMOIAHMP(); if (!this.DIGCFIAANFF()) { return quaternion; } if (!(this.FINKAEHEBGN() == null)) { Vector3 vector = this.StabilizerOffsetRotation * this.AJPHFJPDHLF(); Vector3 vector2 = quaternion * Vector3.forward; if (Vector3.Angle(vector2, vector) >= this.separationAngle && this.DNAFPKNLEFK != null) { this.DNAFPKNLEFK(); } Vector3 vector3 = quaternion * Vector3.up; return Quaternion.LookRotation(vector, vector3); } if (this.EPEBCNIJKDB != null) { return this.JEIBDPLEOJC; } return quaternion; } // Token: 0x06016E03 RID: 93699 RVA: 0x00661D54 File Offset: 0x0065FF54 private void ABHGBLMBACA() { if (this.EPEBCNIJKDB != null) { base.StopCoroutine(this.EPEBCNIJKDB); this.EPEBCNIJKDB = null; } } // Token: 0x06016E04 RID: 93700 RVA: 0x00661D74 File Offset: 0x0065FF74 private IEnumerator ODEOKBEPJIG(Quaternion IKIJCFPELOA) { this.JEIBDPLEOJC = IKIJCFPELOA; num = Quaternion.Angle(this.JEIBDPLEOJC, this.KOOANGEGLHH()); num2 = num / this.returnToDestabilizedSpeed * 1.25f; num3 = 0f; while (num3 < num2) { yield return new WaitForFixedUpdate(); num3 += Time.fixedDeltaTime; this.JEIBDPLEOJC = Quaternion.RotateTowards(this.JEIBDPLEOJC, this.KOOANGEGLHH(), this.returnToDestabilizedSpeed * Time.fixedDeltaTime); } this.EPEBCNIJKDB = null; yield break; } // Token: 0x06016E05 RID: 93701 RVA: 0x00661D98 File Offset: 0x0065FF98 private Vector3 OLOFCDFLPFP() { return this.INMEJIFDHJH().TransformPoint(this.StabilizerOffsetPosition); } // Token: 0x06016E07 RID: 93703 RVA: 0x00661DD8 File Offset: 0x0065FFD8 private Quaternion NLCLILFBBAI() { return base.DBCENDGOCCK(); } // Token: 0x06016E08 RID: 93704 RVA: 0x00661DE0 File Offset: 0x0065FFE0 private void JJJOFCHBLNL(Quaternion IKIJCFPELOA) { this.ABHGBLMBACA(); this.EPEBCNIJKDB = base.StartCoroutine(this.AFELAADIGAI(IKIJCFPELOA)); } // Token: 0x06016E09 RID: 93705 RVA: 0x00661DFC File Offset: 0x0065FFFC public Vector3 KLFAMLBDPNK() { Vector3 vector = (this.DGICHGFKNMN() - this.JOCPEJGANBB.position).normalized; if (Vector3.Dot(vector, base.transform.forward) < 1069f) { vector *= 546f; } return vector; } // Token: 0x06016E0A RID: 93706 RVA: 0x00661E50 File Offset: 0x00660050 public Transform BCIBMHJLAKA() { return this.EOGNNKAAOHE; } // Token: 0x0400400E RID: 16398 [SerializeField] private float separationAngle = 30f; // Token: 0x0400400F RID: 16399 [SerializeField] private float returnToDestabilizedSpeed = 360f; // Token: 0x04004010 RID: 16400 private Transform EOGNNKAAOHE; // Token: 0x04004011 RID: 16401 [NonSerialized] public Vector3 StabilizerOffsetPosition = Vector3.zero; // Token: 0x04004012 RID: 16402 [NonSerialized] public Quaternion StabilizerOffsetRotation = Quaternion.identity; // Token: 0x04004014 RID: 16404 private Coroutine EPEBCNIJKDB; // Token: 0x04004015 RID: 16405 private Quaternion JEIBDPLEOJC = Quaternion.identity; }