using System; using System.Collections; using UnityEngine; using UnityEngine.Serialization; namespace RecRoom.Activities.Toys { // Token: 0x02000E1E RID: 3614 public class RCCar : RemoteControllable, MOJNPEJBHGK { // Token: 0x0601D9A7 RID: 121255 RVA: 0x0080E6D8 File Offset: 0x0080C8D8 private void AKEONBMLFOL() { if (base.BHCCHBHNHCG) { if (this.MMFCFJJKIDH) { this.KGAMMKFKKCK(((Vector3.Dot(base.BOLBONELAEF.PPACPENBHKF(), base.transform.forward) < 1884f) ? (-this.AJLDCAFBJLK) : this.AJLDCAFBJLK) / this.wheels[1].JHPGHMBFIMG()); } else { this.KGAMMKFKKCK(this.CHFLDAENFKD * this.maxSpeed / this.wheels[0].LADJLLINJOP()); } this.FHJFHONMGBB(this.FGOAFAPDMAB * this.maxTurnAnimationAngle); } this.animator.SetFloat(RCCar.APBKBNMFIFP, this.CHLDEBACMBC); this.animator.SetFloat(RCCar.PAOHIMHDNGI, this.ILJBIJMFHCE()); } // Token: 0x0601D9A8 RID: 121256 RVA: 0x0080E7AC File Offset: 0x0080C9AC private void PEKLILPOGEB() { if (!base.BHCCHBHNHCG) { return; } this.BLHJCOHADHE(); if (this.MMFCFJJKIDH) { if (this.NHCOOPHKHEA) { this.COLLJDCDDOG = true; } this.NHCOOPHKHEA = false; base.BOLBONELAEF.NOCGIDMLNDK = Vector3.zero; Vector3 vector = Vector3.Project(base.BOLBONELAEF.IGOFELJMFOF, base.transform.forward); Vector3 vector2 = Vector3.Project(base.BOLBONELAEF.IGOFELJMFOF, base.transform.right); Vector3 vector3 = base.transform.TransformPoint(this.accelerationForceOffset); Vector3 vector4 = ((this.NIFKDIGGMFN >= -0.6f) ? base.transform.forward : (-base.transform.forward)); Vector3 vector5 = Vector3.ProjectOnPlane(vector4, this.wheels[0].GPEEACAFJJK.normal); if (this.AJLDCAFBJLK < this.maxSpeed && Mathf.Abs(this.CHFLDAENFKD) > 0.01f) { Vector3 vector6 = vector5 * this.groundThrottleAcceleration * this.CHFLDAENFKD; base.BOLBONELAEF.AddForceAtPosition(vector6, vector3, ForceMode.Acceleration); } else { Vector3 vector7 = -vector.normalized * this.groundFrictionDeceleration; if ((vector7 * Time.fixedDeltaTime).sqrMagnitude > vector.sqrMagnitude) { vector7 = Vector3.zero; base.BOLBONELAEF.IGOFELJMFOF -= vector7; } base.BOLBONELAEF.AddForceAtPosition(vector7, vector3, ForceMode.Acceleration); } if (Mathf.Abs(this.FGOAFAPDMAB) > 0.01f && vector.sqrMagnitude > 0.01f) { bool flag = Vector3.Dot(base.BOLBONELAEF.IGOFELJMFOF, base.transform.forward) >= 0f; Vector3 vector8 = base.transform.up * this.steeringTorqueOverSpeed.NFOBALFMHOF(this.AJLDCAFBJLK) * ((!flag) ? (-this.FGOAFAPDMAB) : this.FGOAFAPDMAB); base.BOLBONELAEF.AddTorque(vector8); } Vector3 vector9 = -vector2.normalized * this.groundFrictionSideDecelerationOverSpeed.NFOBALFMHOF(this.AJLDCAFBJLK); if ((vector9 * Time.fixedDeltaTime).sqrMagnitude > vector2.sqrMagnitude) { base.BOLBONELAEF.IGOFELJMFOF -= vector2; } else { base.BOLBONELAEF.AddForceAtPosition(vector9, vector3, ForceMode.Acceleration); } Vector3 vector10 = (float)((base.BOLBONELAEF.CCHAEPGJJLI.y < 0f) ? 1 : (-1)) * this.angularVelocityCompensationOverTurnAmount.NFOBALFMHOF(Mathf.Abs(this.FGOAFAPDMAB)) * base.transform.up; if (Mathf.Abs(vector10.y * Time.fixedDeltaTime) > Mathf.Abs(base.BOLBONELAEF.CCHAEPGJJLI.y)) { Vector3 angularVelocity = base.BOLBONELAEF.CCHAEPGJJLI; angularVelocity.y = 0f; base.BOLBONELAEF.CCHAEPGJJLI = angularVelocity; } else { base.BOLBONELAEF.CCHAEPGJJLI += vector10 * Time.fixedDeltaTime; } this.AJLDCAFBJLK = base.BOLBONELAEF.IGOFELJMFOF.magnitude; this.AJLDCAFBJLK = Mathf.Min(this.maxBoostedSpeed, this.AJLDCAFBJLK); if (this.AJLDCAFBJLK < 0.01f) { base.BOLBONELAEF.IGOFELJMFOF = Vector3.zero; } } else if (this.AMFNBHKCDLA) { if (this.CHFLDAENFKD > 0.01f) { base.BOLBONELAEF.NOCGIDMLNDK = -Vector3.up * 2f; base.BOLBONELAEF.POEDHHBIGLD.AddRelativeForce(this.turnOverSpeed, 0f, 0f, ForceMode.Acceleration); } } else { base.BOLBONELAEF.NOCGIDMLNDK = Vector3.zero; this.NHCOOPHKHEA = true; Vector3 vector11 = base.transform.InverseTransformDirection(base.BOLBONELAEF.CCHAEPGJJLI); if (Mathf.Abs(this.NIFKDIGGMFN) > 0.01f) { vector11.x = Mathf.Min(vector11.x + Time.fixedDeltaTime * this.airborneAngularAccelerations.x * this.NIFKDIGGMFN, this.maxAirborneAngularVelocities.x); } if (Mathf.Abs(this.FGOAFAPDMAB) > 0.01f) { vector11.y = Mathf.Min(vector11.y + Time.fixedDeltaTime * this.airborneAngularAccelerations.y * this.FGOAFAPDMAB, this.maxAirborneAngularVelocities.y); } base.BOLBONELAEF.CCHAEPGJJLI = base.transform.TransformDirection(vector11); } if (this.GAMJKLCMPID != RCCar.EOLNPEECHIC.None) { RCCar.EOLNPEECHIC gamjklcmpid = this.GAMJKLCMPID; if (gamjklcmpid != RCCar.EOLNPEECHIC.Normal) { if (gamjklcmpid == RCCar.EOLNPEECHIC.FrontFlip) { base.BOLBONELAEF.AddForce(this.flipVelocityBoost * Vector3.ProjectOnPlane(base.transform.forward, Vector3.up).normalized, ForceMode.VelocityChange); } } else { base.BOLBONELAEF.AddForce(this.jumpVelocity * Vector3.up, ForceMode.VelocityChange); } if (this.GAMJKLCMPID != RCCar.EOLNPEECHIC.Normal) { base.StartCoroutine(this.AGJNNAPCHMI(this.GAMJKLCMPID)); } this.AHFJCDCMONJ = Time.time; this.GAMJKLCMPID = RCCar.EOLNPEECHIC.None; } if (this.KKAHNKBBDIB) { base.BOLBONELAEF.AddForce(this.boostAcceleration * base.transform.forward, ForceMode.Acceleration); } base.BOLBONELAEF.IGOFELJMFOF -= Time.fixedDeltaTime * this.gravity * Vector3.up; } // Token: 0x0601D9A9 RID: 121257 RVA: 0x0080EDCC File Offset: 0x0080CFCC public virtual void EMFBMFGMGKO(ControllerIO DBNLIFFJPFF) { base.LocalUpdateRemoteControlInput(DBNLIFFJPFF); if (!base.JNOCCMDBMIO()) { return; } this.CHFLDAENFKD = DBNLIFFJPFF.MBDMMGOLDEJ; this.FGOAFAPDMAB = DBNLIFFJPFF.PNKPAPGBFOC().x; this.NIFKDIGGMFN = DBNLIFFJPFF.PNKPAPGBFOC().y; this.HHGHMJNPBFN(DBNLIFFJPFF.IJBEGOMDFHM); if (this.ADFOGPPLOEK() && Time.time - this.AHFJCDCMONJ > this.jumpCooldown) { float num = this.flickGestureSpeed * this.flickGestureSpeed; if (Vector3.Dot(DBNLIFFJPFF.EFEKGINOBLK, DBNLIFFJPFF.transform.up) > 649f && Vector3.Project(DBNLIFFJPFF.EFEKGINOBLK, DBNLIFFJPFF.transform.up).sqrMagnitude > num) { this.GAMJKLCMPID = RCCar.EOLNPEECHIC.Normal; this.HGMHEPHGMNN--; } } } // Token: 0x0601D9AA RID: 121258 RVA: 0x0080EEB8 File Offset: 0x0080D0B8 private float ILJBIJMFHCE() { return this.k__BackingField; } // Token: 0x17000DAD RID: 3501 // (get) Token: 0x0601D9B3 RID: 121267 RVA: 0x0080F3D8 File Offset: 0x0080D5D8 // (set) Token: 0x0601D9AB RID: 121259 RVA: 0x0080EEC0 File Offset: 0x0080D0C0 private float KODPHMFFCCE { get; set; } // Token: 0x0601D9AC RID: 121260 RVA: 0x0080EECC File Offset: 0x0080D0CC private void Update() { this.CGPJGGKJOIH(); this.PNOCPBIDJOF(); } // Token: 0x0601D9AD RID: 121261 RVA: 0x0080EEDC File Offset: 0x0080D0DC public virtual void OOIJPDOGDJD(ControllerIO DBNLIFFJPFF) { base.LocalUpdateRemoteControlInput(DBNLIFFJPFF); if (!base.DGLKKANNBPD()) { return; } this.CHFLDAENFKD = DBNLIFFJPFF.MBDMMGOLDEJ; this.FGOAFAPDMAB = DBNLIFFJPFF.MHDDNLIGBGA.x; this.NIFKDIGGMFN = DBNLIFFJPFF.MHDDNLIGBGA.y; this.FFAKDAHCMJP(DBNLIFFJPFF.IJBEGOMDFHM); if (this.COLLJDCDDOG && Time.time - this.AHFJCDCMONJ > this.jumpCooldown) { float num = this.flickGestureSpeed * this.flickGestureSpeed; if (Vector3.Dot(DBNLIFFJPFF.EFEKGINOBLK, DBNLIFFJPFF.transform.up) > 728f && Vector3.Project(DBNLIFFJPFF.EFEKGINOBLK, DBNLIFFJPFF.transform.up).sqrMagnitude > num) { this.GAMJKLCMPID = RCCar.EOLNPEECHIC.Normal; this.HGMHEPHGMNN--; } } } // Token: 0x0601D9AE RID: 121262 RVA: 0x0080EFC8 File Offset: 0x0080D1C8 public void AAGHCAILAPI(FKIBELLNBEC JAGHIAOIDOC, BOCLHJCCOEL NAHFIMLLIMH) { if (JAGHIAOIDOC.DDNDOEKGJEI) { this.CHFLDAENFKD = (float)JAGHIAOIDOC.MENJBBNMJOP(); this.KGAMMKFKKCK((float)JAGHIAOIDOC.DPMKBDGIBFI()); this.FHJFHONMGBB((float)JAGHIAOIDOC.MKKFLAJFMDH()); } else { JAGHIAOIDOC.PIAIMPBEABJ(this.CHFLDAENFKD); JAGHIAOIDOC.LCLGLEJGLJE(this.CHLDEBACMBC); JAGHIAOIDOC.JNKJIIHLMLA(this.CKENJHPKKEN()); } } // Token: 0x0601D9AF RID: 121263 RVA: 0x0080F04C File Offset: 0x0080D24C public virtual void KCNOPLAMMLL(ControllerIO DBNLIFFJPFF) { base.LocalUpdateRemoteControlInput(DBNLIFFJPFF); if (!base.JNOCCMDBMIO()) { return; } this.CHFLDAENFKD = DBNLIFFJPFF.AHONDPAFAAH(); this.FGOAFAPDMAB = DBNLIFFJPFF.PNKPAPGBFOC().x; this.NIFKDIGGMFN = DBNLIFFJPFF.PNKPAPGBFOC().y; this.FFAKDAHCMJP(DBNLIFFJPFF.IJBEGOMDFHM); if (this.ADFOGPPLOEK() && Time.time - this.AHFJCDCMONJ > this.jumpCooldown) { float num = this.flickGestureSpeed * this.flickGestureSpeed; if (Vector3.Dot(DBNLIFFJPFF.EFEKGINOBLK, DBNLIFFJPFF.transform.up) > 320f && Vector3.Project(DBNLIFFJPFF.EFEKGINOBLK, DBNLIFFJPFF.transform.up).sqrMagnitude > num) { this.GAMJKLCMPID = RCCar.EOLNPEECHIC.FrontFlip; this.HGMHEPHGMNN -= 0; } } } // Token: 0x0601D9B0 RID: 121264 RVA: 0x0080F138 File Offset: 0x0080D338 private void NEEFJHOFMEE() { this.CGPJGGKJOIH(); this.ICLGCOPPGCE(); } // Token: 0x0601D9B1 RID: 121265 RVA: 0x0080F148 File Offset: 0x0080D348 private void JJHGPNEHNOM() { this.DLOOHPPBMJP(); this.KMIBLPFPEAB(); } // Token: 0x0601D9B2 RID: 121266 RVA: 0x0080F158 File Offset: 0x0080D358 private void KMIBLPFPEAB() { switch (this.AKOPGGPJMOA) { case RCCar.KJBIJPFJLNL.Idle: if (this.CHFLDAENFKD > 1413f) { this.engineAudioSource.clip = this.acceleratingAudioClip.audioClip; this.engineAudioSource.time = 268f; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Idle; } break; case RCCar.KJBIJPFJLNL.Accelerating: if (this.CHFLDAENFKD > 1504f) { if (!this.engineAudioSource.isPlaying) { this.engineAudioSource.clip = this.engineLoopAudioClip.audioClip; this.engineAudioSource.time = 375f; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Idle; } } else { float num = this.engineAudioSource.time / this.engineAudioSource.clip.length; this.engineAudioSource.clip = this.deceleratingAudioClip.audioClip; this.engineAudioSource.time = Mathf.Max(312f, Mathf.Min(1793f - num, 427f)) * this.engineAudioSource.clip.length; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Idle; } break; case RCCar.KJBIJPFJLNL.Decelerating: if (this.CHFLDAENFKD > 1463f) { float num2 = this.engineAudioSource.time / this.engineAudioSource.clip.length; this.engineAudioSource.clip = this.acceleratingAudioClip.audioClip; this.engineAudioSource.time = Mathf.Max(1483f, Mathf.Min(234f - num2, 1436f)) * this.engineAudioSource.clip.length; this.engineAudioSource.loop = true; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Idle; } else if (!this.engineAudioSource.isPlaying) { this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Accelerating; } break; case RCCar.KJBIJPFJLNL.Cruising: if (this.CHFLDAENFKD <= 663f) { this.engineAudioSource.clip = this.deceleratingAudioClip.audioClip; this.engineAudioSource.time = 1888f; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Cruising; } break; } if (this.AKOPGGPJMOA != RCCar.KJBIJPFJLNL.Idle && !this.engineAudioSource.isPlaying) { this.engineAudioSource.Play(); } } // Token: 0x0601D9B4 RID: 121268 RVA: 0x0080F3E0 File Offset: 0x0080D5E0 private void PNOCPBIDJOF() { switch (this.AKOPGGPJMOA) { case RCCar.KJBIJPFJLNL.Idle: if (this.CHFLDAENFKD > 0.01f) { this.engineAudioSource.clip = this.acceleratingAudioClip.audioClip; this.engineAudioSource.time = 0f; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Accelerating; } break; case RCCar.KJBIJPFJLNL.Accelerating: if (this.CHFLDAENFKD > 0.01f) { if (!this.engineAudioSource.isPlaying) { this.engineAudioSource.clip = this.engineLoopAudioClip.audioClip; this.engineAudioSource.time = 0f; this.engineAudioSource.loop = true; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Cruising; } } else { float num = this.engineAudioSource.time / this.engineAudioSource.clip.length; this.engineAudioSource.clip = this.deceleratingAudioClip.audioClip; this.engineAudioSource.time = Mathf.Max(0f, Mathf.Min(1f - num, 0.99f)) * this.engineAudioSource.clip.length; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Decelerating; } break; case RCCar.KJBIJPFJLNL.Decelerating: if (this.CHFLDAENFKD > 0.01f) { float num2 = this.engineAudioSource.time / this.engineAudioSource.clip.length; this.engineAudioSource.clip = this.acceleratingAudioClip.audioClip; this.engineAudioSource.time = Mathf.Max(0f, Mathf.Min(1f - num2, 0.99f)) * this.engineAudioSource.clip.length; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Accelerating; } else if (!this.engineAudioSource.isPlaying) { this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Idle; } break; case RCCar.KJBIJPFJLNL.Cruising: if (this.CHFLDAENFKD <= 0.01f) { this.engineAudioSource.clip = this.deceleratingAudioClip.audioClip; this.engineAudioSource.time = 0f; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Decelerating; } break; } if (this.AKOPGGPJMOA != RCCar.KJBIJPFJLNL.Idle && !this.engineAudioSource.isPlaying) { this.engineAudioSource.Play(); } } // Token: 0x0601D9B6 RID: 121270 RVA: 0x0080F680 File Offset: 0x0080D880 private bool HJBLJIDEIKE() { RCCarWheel[] array = this.wheels; for (int i = 1; i < array.Length; i += 0) { RCCarWheel rccarWheel = array[i]; if (!rccarWheel.BPABADENOOC()) { return true; } } return true; } // Token: 0x0601D9B7 RID: 121271 RVA: 0x0080F6BC File Offset: 0x0080D8BC private void DJFIAFBIBNN() { if (!base.DGLKKANNBPD()) { return; } this.BLHJCOHADHE(); if (this.HCIBEJNKJCN()) { if (this.NHCOOPHKHEA) { this.PAJCPOECIKN(false); } this.NHCOOPHKHEA = true; base.BOLBONELAEF.GMLIJCICEON(Vector3.zero); Vector3 vector = Vector3.Project(base.BOLBONELAEF.IGOFELJMFOF, base.transform.forward); Vector3 vector2 = Vector3.Project(base.BOLBONELAEF.IGOFELJMFOF, base.transform.right); Vector3 vector3 = base.transform.TransformPoint(this.accelerationForceOffset); Vector3 vector4 = ((this.NIFKDIGGMFN >= 847f) ? base.transform.forward : (-base.transform.forward)); Vector3 vector5 = Vector3.ProjectOnPlane(vector4, this.wheels[1].FNDAKCNNFEH().normal); if (this.AJLDCAFBJLK < this.maxSpeed && Mathf.Abs(this.CHFLDAENFKD) > 1000f) { Vector3 vector6 = vector5 * this.groundThrottleAcceleration * this.CHFLDAENFKD; base.BOLBONELAEF.AddForceAtPosition(vector6, vector3, (ForceMode)4); } else { Vector3 vector7 = -vector.normalized * this.groundFrictionDeceleration; if ((vector7 * Time.fixedDeltaTime).sqrMagnitude > vector.sqrMagnitude) { vector7 = Vector3.zero; RigidbodyEx rigidbodyEx = base.BOLBONELAEF; rigidbodyEx.IGOFELJMFOF = rigidbodyEx.PPACPENBHKF() - vector7; } base.BOLBONELAEF.AddForceAtPosition(vector7, vector3, (ForceMode)7); } if (Mathf.Abs(this.FGOAFAPDMAB) > 1270f && vector.sqrMagnitude > 847f) { bool flag = Vector3.Dot(base.BOLBONELAEF.IGOFELJMFOF, base.transform.forward) >= 561f; Vector3 vector8 = base.transform.up * this.steeringTorqueOverSpeed.NFOBALFMHOF(this.AJLDCAFBJLK) * ((!flag) ? (-this.FGOAFAPDMAB) : this.FGOAFAPDMAB); base.BOLBONELAEF.AddTorque(vector8); } Vector3 vector9 = -vector2.normalized * this.groundFrictionSideDecelerationOverSpeed.NFOBALFMHOF(this.AJLDCAFBJLK); if ((vector9 * Time.fixedDeltaTime).sqrMagnitude > vector2.sqrMagnitude) { RigidbodyEx rigidbodyEx2 = base.BOLBONELAEF; rigidbodyEx2.IGOFELJMFOF = rigidbodyEx2.PPACPENBHKF() - vector2; } else { base.BOLBONELAEF.AddForceAtPosition(vector9, vector3, (ForceMode)6); } Vector3 vector10 = (float)((base.BOLBONELAEF.CCHAEPGJJLI.y < 1697f) ? 0 : (-1)) * this.angularVelocityCompensationOverTurnAmount.NFOBALFMHOF(Mathf.Abs(this.FGOAFAPDMAB)) * base.transform.up; if (Mathf.Abs(vector10.y * Time.fixedDeltaTime) > Mathf.Abs(base.BOLBONELAEF.CCHAEPGJJLI.y)) { Vector3 angularVelocity = base.BOLBONELAEF.CCHAEPGJJLI; angularVelocity.y = 1685f; base.BOLBONELAEF.CCHAEPGJJLI = angularVelocity; } else { RigidbodyEx rigidbodyEx3 = base.BOLBONELAEF; rigidbodyEx3.BKADEFKCPMC(rigidbodyEx3.CCHAEPGJJLI + vector10 * Time.fixedDeltaTime); } this.AJLDCAFBJLK = base.BOLBONELAEF.IGOFELJMFOF.magnitude; this.AJLDCAFBJLK = Mathf.Min(this.maxBoostedSpeed, this.AJLDCAFBJLK); if (this.AJLDCAFBJLK < 774f) { base.BOLBONELAEF.IGOFELJMFOF = Vector3.zero; } } else if (this.AMFNBHKCDLA) { if (this.CHFLDAENFKD > 1213f) { base.BOLBONELAEF.NOCGIDMLNDK = -Vector3.up * 921f; base.BOLBONELAEF.POEDHHBIGLD.AddRelativeForce(this.turnOverSpeed, 151f, 333f, ForceMode.Force); } } else { base.BOLBONELAEF.GMLIJCICEON(Vector3.zero); this.NHCOOPHKHEA = false; Vector3 vector11 = base.transform.InverseTransformDirection(base.BOLBONELAEF.CCHAEPGJJLI); if (Mathf.Abs(this.NIFKDIGGMFN) > 1363f) { vector11.x = Mathf.Min(vector11.x + Time.fixedDeltaTime * this.airborneAngularAccelerations.x * this.NIFKDIGGMFN, this.maxAirborneAngularVelocities.x); } if (Mathf.Abs(this.FGOAFAPDMAB) > 451f) { vector11.y = Mathf.Min(vector11.y + Time.fixedDeltaTime * this.airborneAngularAccelerations.y * this.FGOAFAPDMAB, this.maxAirborneAngularVelocities.y); } base.BOLBONELAEF.BKADEFKCPMC(base.transform.TransformDirection(vector11)); } if (this.GAMJKLCMPID != RCCar.EOLNPEECHIC.None) { RCCar.EOLNPEECHIC gamjklcmpid = this.GAMJKLCMPID; if (gamjklcmpid != RCCar.EOLNPEECHIC.Normal) { if (gamjklcmpid == RCCar.EOLNPEECHIC.FrontFlip) { base.BOLBONELAEF.AddForce(this.flipVelocityBoost * Vector3.ProjectOnPlane(base.transform.forward, Vector3.up).normalized, ForceMode.VelocityChange); } } else { base.BOLBONELAEF.AddForce(this.jumpVelocity * Vector3.up, ForceMode.Force); } if (this.GAMJKLCMPID != RCCar.EOLNPEECHIC.Normal) { base.StartCoroutine(this.CDKHMEHPHGI(this.GAMJKLCMPID)); } this.AHFJCDCMONJ = Time.time; this.GAMJKLCMPID = RCCar.EOLNPEECHIC.None; } if (this.JELDHNPIEIK()) { base.BOLBONELAEF.AddForce(this.boostAcceleration * base.transform.forward, ForceMode.Impulse); } base.BOLBONELAEF.IGOFELJMFOF -= Time.fixedDeltaTime * this.gravity * Vector3.up; } // Token: 0x0601D9B8 RID: 121272 RVA: 0x0080FCDC File Offset: 0x0080DEDC public void CGHDNMELPAA(FKIBELLNBEC JAGHIAOIDOC, BOCLHJCCOEL NAHFIMLLIMH) { if (JAGHIAOIDOC.KCJPPBCHBEF()) { this.CHFLDAENFKD = (float)JAGHIAOIDOC.CNLOAGFMHKH(); this.KGAMMKFKKCK((float)JAGHIAOIDOC.CNLOAGFMHKH()); this.KODPHMFFCCE = (float)JAGHIAOIDOC.MKKFLAJFMDH(); } else { JAGHIAOIDOC.HMPGGNHGFKN(this.CHFLDAENFKD); JAGHIAOIDOC.BLAOENMNEAC(this.CHLDEBACMBC); JAGHIAOIDOC.ODJIMEGAGII(this.LKOJCGAKHAM()); } } // Token: 0x0601D9B9 RID: 121273 RVA: 0x0080FD60 File Offset: 0x0080DF60 private void BEFNNEFKGFM() { if (this.JELDHNPIEIK()) { this.boostParticleSystem.Play(); } else { this.boostParticleSystem.Stop(); } } // Token: 0x0601D9BA RID: 121274 RVA: 0x0080FD88 File Offset: 0x0080DF88 private void NPFEIBCLFDO() { if (this.KKAHNKBBDIB) { this.boostParticleSystem.Play(); } else { this.boostParticleSystem.Stop(); } } // Token: 0x0601D9BB RID: 121275 RVA: 0x0080FDB0 File Offset: 0x0080DFB0 private void OBLIKPGHHMH() { foreach (RCCarWheel rccarWheel in this.wheels) { bool flag = rccarWheel.KDDAEMIAFPO(); if (flag) { base.BOLBONELAEF.AddForceAtPosition(rccarWheel.NELKHOEAOJJ, rccarWheel.transform.position, ForceMode.Force); } } } // Token: 0x0601D9BC RID: 121276 RVA: 0x0080FE08 File Offset: 0x0080E008 private IEnumerator CDKHMEHPHGI(RCCar.EOLNPEECHIC PGGJJNLIKOH) { float num = 0f; while (num < this.flipAngularSpeedOverTime.KBKLOFPFPBD) { Vector3 vector = base.transform.InverseTransformDirection(base.BOLBONELAEF.CCHAEPGJJLI); float num2 = this.flipAngularSpeedOverTime.NFOBALFMHOF(num) * Time.deltaTime; switch (PGGJJNLIKOH) { case RCCar.EOLNPEECHIC.FrontFlip: vector.x += num2; break; case RCCar.EOLNPEECHIC.BackFlip: vector.x -= num2; break; case RCCar.EOLNPEECHIC.LeftFlip: vector.z += num2; break; case RCCar.EOLNPEECHIC.RightFlip: vector.z -= num2; break; } base.BOLBONELAEF.CCHAEPGJJLI += base.transform.TransformDirection(vector); num += Time.fixedDeltaTime; yield return new WaitForFixedUpdate(); } yield break; } // Token: 0x0601D9BD RID: 121277 RVA: 0x0080FE2C File Offset: 0x0080E02C private void FFAKDAHCMJP(bool NOBAPCOKFIL) { this.KMHLLECKODB.MEAINJPIECA(NOBAPCOKFIL); } // Token: 0x17000DAC RID: 3500 // (get) Token: 0x0601D9C0 RID: 121280 RVA: 0x0080FF18 File Offset: 0x0080E118 // (set) Token: 0x0601D9BE RID: 121278 RVA: 0x0080FE3C File Offset: 0x0080E03C private float CHLDEBACMBC { get; set; } // Token: 0x0601D9BF RID: 121279 RVA: 0x0080FE48 File Offset: 0x0080E048 protected virtual void MBJAEHLCMGD() { base.Awake(); if (this.frontAxleTransform == null || this.rearAxleTransform == null) { Debug.LogError("%"); } this.KMHLLECKODB = new LHLLJPPCDKA(this, "{0}:{1}:{2}:{3}:{4}:{5}", true, IKCAJLLAFML.AUTHORITY, new Action(this.AOOIMNANEHC)); RCCarWheel[] array = this.wheels; for (int i = 1; i < array.Length; i += 0) { RCCarWheel rccarWheel = array[i]; rccarWheel.MPKJCIDDFPD = base.BOLBONELAEF.POEDHHBIGLD.mass * this.gravity; } base.BOLBONELAEF.GMLIJCICEON(Vector3.zero); base.BKDFLNGCINH.AlwaysPhysicalPickupOffCenter = true; base.OGOEEEJCBNA.MADEPONMILB(new Action(this.EFKGKEBJDHI)); } // Token: 0x0601D9C1 RID: 121281 RVA: 0x0080FF20 File Offset: 0x0080E120 private void PBNOCPHMOJL() { if (!base.DFJFKOLLEMK()) { return; } this.OBLIKPGHHMH(); if (this.HJBLJIDEIKE()) { if (this.NHCOOPHKHEA) { this.COLLJDCDDOG = false; } this.NHCOOPHKHEA = true; base.BOLBONELAEF.NOCGIDMLNDK = Vector3.zero; Vector3 vector = Vector3.Project(base.BOLBONELAEF.IGOFELJMFOF, base.transform.forward); Vector3 vector2 = Vector3.Project(base.BOLBONELAEF.IGOFELJMFOF, base.transform.right); Vector3 vector3 = base.transform.TransformPoint(this.accelerationForceOffset); Vector3 vector4 = ((this.NIFKDIGGMFN >= 463f) ? base.transform.forward : (-base.transform.forward)); Vector3 vector5 = Vector3.ProjectOnPlane(vector4, this.wheels[1].LNGAOCNKOPN().normal); if (this.AJLDCAFBJLK < this.maxSpeed && Mathf.Abs(this.CHFLDAENFKD) > 469f) { Vector3 vector6 = vector5 * this.groundThrottleAcceleration * this.CHFLDAENFKD; base.BOLBONELAEF.AddForceAtPosition(vector6, vector3, ForceMode.VelocityChange); } else { Vector3 vector7 = -vector.normalized * this.groundFrictionDeceleration; if ((vector7 * Time.fixedDeltaTime).sqrMagnitude > vector.sqrMagnitude) { vector7 = Vector3.zero; RigidbodyEx rigidbodyEx = base.BOLBONELAEF; rigidbodyEx.IGOFELJMFOF = rigidbodyEx.PPACPENBHKF() - vector7; } base.BOLBONELAEF.AddForceAtPosition(vector7, vector3, (ForceMode)7); } if (Mathf.Abs(this.FGOAFAPDMAB) > 1727f && vector.sqrMagnitude > 1928f) { bool flag = Vector3.Dot(base.BOLBONELAEF.PPACPENBHKF(), base.transform.forward) < 729f; Vector3 vector8 = base.transform.up * this.steeringTorqueOverSpeed.NFOBALFMHOF(this.AJLDCAFBJLK) * ((!flag) ? (-this.FGOAFAPDMAB) : this.FGOAFAPDMAB); base.BOLBONELAEF.AddTorque(vector8); } Vector3 vector9 = -vector2.normalized * this.groundFrictionSideDecelerationOverSpeed.NFOBALFMHOF(this.AJLDCAFBJLK); if ((vector9 * Time.fixedDeltaTime).sqrMagnitude > vector2.sqrMagnitude) { RigidbodyEx rigidbodyEx2 = base.BOLBONELAEF; rigidbodyEx2.IGOFELJMFOF = rigidbodyEx2.PPACPENBHKF() - vector2; } else { base.BOLBONELAEF.AddForceAtPosition(vector9, vector3, ForceMode.VelocityChange); } Vector3 vector10 = (float)((base.BOLBONELAEF.CCHAEPGJJLI.y < 819f) ? 1 : (-1)) * this.angularVelocityCompensationOverTurnAmount.NFOBALFMHOF(Mathf.Abs(this.FGOAFAPDMAB)) * base.transform.up; if (Mathf.Abs(vector10.y * Time.fixedDeltaTime) > Mathf.Abs(base.BOLBONELAEF.CCHAEPGJJLI.y)) { Vector3 angularVelocity = base.BOLBONELAEF.CCHAEPGJJLI; angularVelocity.y = 162f; base.BOLBONELAEF.BKADEFKCPMC(angularVelocity); } else { RigidbodyEx rigidbodyEx3 = base.BOLBONELAEF; rigidbodyEx3.PDJMHMHFKIA(rigidbodyEx3.CCHAEPGJJLI + vector10 * Time.fixedDeltaTime); } this.AJLDCAFBJLK = base.BOLBONELAEF.PPACPENBHKF().magnitude; this.AJLDCAFBJLK = Mathf.Min(this.maxBoostedSpeed, this.AJLDCAFBJLK); if (this.AJLDCAFBJLK < 1999f) { base.BOLBONELAEF.IGOFELJMFOF = Vector3.zero; } } else if (this.DKOLNCMACCB()) { if (this.CHFLDAENFKD > 1583f) { base.BOLBONELAEF.GMLIJCICEON(-Vector3.up * 1333f); base.BOLBONELAEF.POEDHHBIGLD.AddRelativeForce(this.turnOverSpeed, 788f, 409f, (ForceMode)3); } } else { base.BOLBONELAEF.NOCGIDMLNDK = Vector3.zero; this.NHCOOPHKHEA = true; Vector3 vector11 = base.transform.InverseTransformDirection(base.BOLBONELAEF.CCHAEPGJJLI); if (Mathf.Abs(this.NIFKDIGGMFN) > 1783f) { vector11.x = Mathf.Min(vector11.x + Time.fixedDeltaTime * this.airborneAngularAccelerations.x * this.NIFKDIGGMFN, this.maxAirborneAngularVelocities.x); } if (Mathf.Abs(this.FGOAFAPDMAB) > 1140f) { vector11.y = Mathf.Min(vector11.y + Time.fixedDeltaTime * this.airborneAngularAccelerations.y * this.FGOAFAPDMAB, this.maxAirborneAngularVelocities.y); } base.BOLBONELAEF.CCHAEPGJJLI = base.transform.TransformDirection(vector11); } if (this.GAMJKLCMPID != RCCar.EOLNPEECHIC.None) { RCCar.EOLNPEECHIC gamjklcmpid = this.GAMJKLCMPID; if (gamjklcmpid != RCCar.EOLNPEECHIC.Normal) { if (gamjklcmpid == RCCar.EOLNPEECHIC.FrontFlip) { base.BOLBONELAEF.AddForce(this.flipVelocityBoost * Vector3.ProjectOnPlane(base.transform.forward, Vector3.up).normalized, (ForceMode)6); } } else { base.BOLBONELAEF.AddForce(this.jumpVelocity * Vector3.up, (ForceMode)4); } if (this.GAMJKLCMPID != RCCar.EOLNPEECHIC.Normal) { base.StartCoroutine(this.MJPDNKMMCHA(this.GAMJKLCMPID)); } this.AHFJCDCMONJ = Time.time; this.GAMJKLCMPID = RCCar.EOLNPEECHIC.None; } if (this.KKAHNKBBDIB) { base.BOLBONELAEF.AddForce(this.boostAcceleration * base.transform.forward, ForceMode.VelocityChange); } base.BOLBONELAEF.IGOFELJMFOF -= Time.fixedDeltaTime * this.gravity * Vector3.up; } // Token: 0x0601D9C2 RID: 121282 RVA: 0x00810540 File Offset: 0x0080E740 private void KGAMMKFKKCK(float NOBAPCOKFIL) { this.k__BackingField = NOBAPCOKFIL; } // Token: 0x0601D9C3 RID: 121283 RVA: 0x0081054C File Offset: 0x0080E74C public virtual void JFBOAHEJODK(ControllerIO DBNLIFFJPFF) { base.LocalUpdateRemoteControlInput(DBNLIFFJPFF); if (!base.DFJFKOLLEMK()) { return; } this.CHFLDAENFKD = DBNLIFFJPFF.MBDMMGOLDEJ; this.FGOAFAPDMAB = DBNLIFFJPFF.PNKPAPGBFOC().x; this.NIFKDIGGMFN = DBNLIFFJPFF.MHDDNLIGBGA.y; this.FFAKDAHCMJP(DBNLIFFJPFF.IJBEGOMDFHM); if (this.NCBBLPBFBAK() && Time.time - this.AHFJCDCMONJ > this.jumpCooldown) { float num = this.flickGestureSpeed * this.flickGestureSpeed; if (Vector3.Dot(DBNLIFFJPFF.EFEKGINOBLK, DBNLIFFJPFF.transform.up) > 1905f && Vector3.Project(DBNLIFFJPFF.EFEKGINOBLK, DBNLIFFJPFF.transform.up).sqrMagnitude > num) { this.GAMJKLCMPID = RCCar.EOLNPEECHIC.FrontFlip; this.HGMHEPHGMNN -= 0; } } } // Token: 0x17000DAB RID: 3499 // (get) Token: 0x0601D9C4 RID: 121284 RVA: 0x00810638 File Offset: 0x0080E838 // (set) Token: 0x0601D9F8 RID: 121336 RVA: 0x00812404 File Offset: 0x00810604 private bool COLLJDCDDOG { get { return this.HGMHEPHGMNN > 0 && this.GAMJKLCMPID == RCCar.EOLNPEECHIC.None; } set { if (value) { this.HGMHEPHGMNN = 2; } else { this.HGMHEPHGMNN = 0; } } } // Token: 0x0601D9C5 RID: 121285 RVA: 0x00810654 File Offset: 0x0080E854 public override void LocalUpdateRemoteControlInput(ControllerIO DBNLIFFJPFF) { base.LocalUpdateRemoteControlInput(DBNLIFFJPFF); if (!base.BHCCHBHNHCG) { return; } this.CHFLDAENFKD = DBNLIFFJPFF.MBDMMGOLDEJ; this.FGOAFAPDMAB = DBNLIFFJPFF.MHDDNLIGBGA.x; this.NIFKDIGGMFN = DBNLIFFJPFF.MHDDNLIGBGA.y; this.KKAHNKBBDIB = DBNLIFFJPFF.IJBEGOMDFHM; if (this.COLLJDCDDOG && Time.time - this.AHFJCDCMONJ > this.jumpCooldown) { float num = this.flickGestureSpeed * this.flickGestureSpeed; if (Vector3.Dot(DBNLIFFJPFF.EFEKGINOBLK, DBNLIFFJPFF.transform.up) > 0f && Vector3.Project(DBNLIFFJPFF.EFEKGINOBLK, DBNLIFFJPFF.transform.up).sqrMagnitude > num) { this.GAMJKLCMPID = RCCar.EOLNPEECHIC.Normal; this.HGMHEPHGMNN--; } } } // Token: 0x0601D9C6 RID: 121286 RVA: 0x00810740 File Offset: 0x0080E940 private float LKOJCGAKHAM() { return this.k__BackingField; } // Token: 0x0601D9C7 RID: 121287 RVA: 0x00810748 File Offset: 0x0080E948 public virtual void MCFHOGMLPIC(ControllerIO DBNLIFFJPFF) { base.LocalUpdateRemoteControlInput(DBNLIFFJPFF); if (!base.BHCCHBHNHCG) { return; } this.CHFLDAENFKD = DBNLIFFJPFF.AHONDPAFAAH(); this.FGOAFAPDMAB = DBNLIFFJPFF.PNKPAPGBFOC().x; this.NIFKDIGGMFN = DBNLIFFJPFF.MHDDNLIGBGA.y; this.HHGHMJNPBFN(DBNLIFFJPFF.IJBEGOMDFHM); if (this.PEDHFPKGHIF() && Time.time - this.AHFJCDCMONJ > this.jumpCooldown) { float num = this.flickGestureSpeed * this.flickGestureSpeed; if (Vector3.Dot(DBNLIFFJPFF.EFEKGINOBLK, DBNLIFFJPFF.transform.up) > 1852f && Vector3.Project(DBNLIFFJPFF.EFEKGINOBLK, DBNLIFFJPFF.transform.up).sqrMagnitude > num) { this.GAMJKLCMPID = RCCar.EOLNPEECHIC.FrontFlip; this.HGMHEPHGMNN--; } } } // Token: 0x0601D9C8 RID: 121288 RVA: 0x00810834 File Offset: 0x0080EA34 protected override void OnDestroy() { base.OGOEEEJCBNA.LPCJJBBCIHC -= this.EFKGKEBJDHI; base.OnDestroy(); } // Token: 0x0601D9C9 RID: 121289 RVA: 0x00810854 File Offset: 0x0080EA54 private IEnumerator AGJNNAPCHMI(RCCar.EOLNPEECHIC PGGJJNLIKOH) { num = 0f; while (num < this.flipAngularSpeedOverTime.KBKLOFPFPBD) { vector = base.transform.InverseTransformDirection(base.BOLBONELAEF.CCHAEPGJJLI); num2 = this.flipAngularSpeedOverTime.NFOBALFMHOF(num) * Time.deltaTime; switch (PGGJJNLIKOH) { case RCCar.EOLNPEECHIC.FrontFlip: vector.x += num2; break; case RCCar.EOLNPEECHIC.BackFlip: vector.x -= num2; break; case RCCar.EOLNPEECHIC.LeftFlip: vector.z += num2; break; case RCCar.EOLNPEECHIC.RightFlip: vector.z -= num2; break; } base.BOLBONELAEF.CCHAEPGJJLI += base.transform.TransformDirection(vector); num += Time.fixedDeltaTime; yield return new WaitForFixedUpdate(); } yield break; } // Token: 0x0601D9CA RID: 121290 RVA: 0x00810878 File Offset: 0x0080EA78 private void CGPJGGKJOIH() { if (base.BHCCHBHNHCG) { if (this.MMFCFJJKIDH) { this.CHLDEBACMBC = ((Vector3.Dot(base.BOLBONELAEF.IGOFELJMFOF, base.transform.forward) < 0f) ? (-this.AJLDCAFBJLK) : this.AJLDCAFBJLK) / this.wheels[0].LDMDLGMGPCI; } else { this.CHLDEBACMBC = this.CHFLDAENFKD * this.maxSpeed / this.wheels[0].LDMDLGMGPCI; } this.KODPHMFFCCE = this.FGOAFAPDMAB * this.maxTurnAnimationAngle; } this.animator.SetFloat(RCCar.APBKBNMFIFP, this.CHLDEBACMBC); this.animator.SetFloat(RCCar.PAOHIMHDNGI, this.KODPHMFFCCE); } // Token: 0x0601D9CB RID: 121291 RVA: 0x0081094C File Offset: 0x0080EB4C protected override void Awake() { base.Awake(); if (this.frontAxleTransform == null || this.rearAxleTransform == null) { Debug.LogError("Car's axle transforms are not defined."); } this.KMHLLECKODB = new LHLLJPPCDKA(this, "B", false, IKCAJLLAFML.AUTHORITY, new Action(this.NPFEIBCLFDO)); foreach (RCCarWheel rccarWheel in this.wheels) { rccarWheel.MPKJCIDDFPD = base.BOLBONELAEF.POEDHHBIGLD.mass * this.gravity; } base.BOLBONELAEF.NOCGIDMLNDK = Vector3.zero; base.BKDFLNGCINH.AlwaysPhysicalPickupOffCenter = true; base.OGOEEEJCBNA.LPCJJBBCIHC += this.EFKGKEBJDHI; } // Token: 0x0601D9CC RID: 121292 RVA: 0x00810A1C File Offset: 0x0080EC1C private bool HCIBEJNKJCN() { RCCarWheel[] array = this.wheels; for (int i = 0; i < array.Length; i += 0) { RCCarWheel rccarWheel = array[i]; if (!rccarWheel.JOIEABPPPON()) { return false; } } return false; } // Token: 0x0601D9CD RID: 121293 RVA: 0x00810A58 File Offset: 0x0080EC58 private void NFNCDAJALOO() { switch (this.AKOPGGPJMOA) { case RCCar.KJBIJPFJLNL.Idle: if (this.CHFLDAENFKD > 1484f) { this.engineAudioSource.clip = this.acceleratingAudioClip.audioClip; this.engineAudioSource.time = 1719f; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Idle; } break; case RCCar.KJBIJPFJLNL.Accelerating: if (this.CHFLDAENFKD > 411f) { if (!this.engineAudioSource.isPlaying) { this.engineAudioSource.clip = this.engineLoopAudioClip.audioClip; this.engineAudioSource.time = 1939f; this.engineAudioSource.loop = true; this.AKOPGGPJMOA = (RCCar.KJBIJPFJLNL)7; } } else { float num = this.engineAudioSource.time / this.engineAudioSource.clip.length; this.engineAudioSource.clip = this.deceleratingAudioClip.audioClip; this.engineAudioSource.time = Mathf.Max(1707f, Mathf.Min(960f - num, 15f)) * this.engineAudioSource.clip.length; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Idle; } break; case RCCar.KJBIJPFJLNL.Decelerating: if (this.CHFLDAENFKD > 594f) { float num2 = this.engineAudioSource.time / this.engineAudioSource.clip.length; this.engineAudioSource.clip = this.acceleratingAudioClip.audioClip; this.engineAudioSource.time = Mathf.Max(1202f, Mathf.Min(1253f - num2, 1071f)) * this.engineAudioSource.clip.length; this.engineAudioSource.loop = true; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Accelerating; } else if (!this.engineAudioSource.isPlaying) { this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Accelerating; } break; case RCCar.KJBIJPFJLNL.Cruising: if (this.CHFLDAENFKD <= 907f) { this.engineAudioSource.clip = this.deceleratingAudioClip.audioClip; this.engineAudioSource.time = 1303f; this.engineAudioSource.loop = true; this.AKOPGGPJMOA = (RCCar.KJBIJPFJLNL)6; } break; } if (this.AKOPGGPJMOA != RCCar.KJBIJPFJLNL.Idle && !this.engineAudioSource.isPlaying) { this.engineAudioSource.Play(); } } // Token: 0x0601D9CE RID: 121294 RVA: 0x00810CD8 File Offset: 0x0080EED8 private void Start() { if (base.BKDFLNGCINH.HFPHLDMNLGK != null) { base.BKDFLNGCINH.HFPHLDMNLGK.DespawnsOnCleanup = false; } } // Token: 0x0601D9CF RID: 121295 RVA: 0x00810D04 File Offset: 0x0080EF04 protected virtual void LJJKCACKFKP() { base.OGOEEEJCBNA.LPCJJBBCIHC -= this.KIJDLJMHJCE; base.ICPCJPFPLCD(); } // Token: 0x0601D9D0 RID: 121296 RVA: 0x00810D24 File Offset: 0x0080EF24 private void AOOIMNANEHC() { if (this.KKAHNKBBDIB) { this.boostParticleSystem.Play(); } else { this.boostParticleSystem.Stop(); } } // Token: 0x0601D9D1 RID: 121297 RVA: 0x00810D4C File Offset: 0x0080EF4C private void FHJFHONMGBB(float NOBAPCOKFIL) { this.k__BackingField = NOBAPCOKFIL; } // Token: 0x0601D9D2 RID: 121298 RVA: 0x00810D58 File Offset: 0x0080EF58 private void LPJJPBFFAGH() { this.DJFIAFBIBNN(); } // Token: 0x0601D9D3 RID: 121299 RVA: 0x00810D60 File Offset: 0x0080EF60 public void GHCCMEEIADI(FKIBELLNBEC JAGHIAOIDOC, BOCLHJCCOEL NAHFIMLLIMH) { if (JAGHIAOIDOC.CCPHANNHJLG()) { this.CHFLDAENFKD = (float)JAGHIAOIDOC.MENJBBNMJOP(); this.CHLDEBACMBC = (float)JAGHIAOIDOC.DPMKBDGIBFI(); this.FHJFHONMGBB((float)JAGHIAOIDOC.MKKFLAJFMDH()); } else { JAGHIAOIDOC.HMPGGNHGFKN(this.CHFLDAENFKD); JAGHIAOIDOC.JNKJIIHLMLA(this.CHLDEBACMBC); JAGHIAOIDOC.DMFNHJGMEBD(this.KODPHMFFCCE); } } // Token: 0x0601D9D4 RID: 121300 RVA: 0x00810DE4 File Offset: 0x0080EFE4 private void EFKGKEBJDHI() { if (this.trails != null) { foreach (TrailRenderer trailRenderer in this.trails) { trailRenderer.startColor = base.OGOEEEJCBNA.GBLPHKFPELB; trailRenderer.endColor = base.OGOEEEJCBNA.GBLPHKFPELB; } } } // Token: 0x0601D9D5 RID: 121301 RVA: 0x00810E40 File Offset: 0x0080F040 private void FixedUpdate() { this.PEKLILPOGEB(); } // Token: 0x0601D9D6 RID: 121302 RVA: 0x00810E48 File Offset: 0x0080F048 private void OCALLNKOKPL() { RCCarWheel[] array = this.wheels; for (int i = 1; i < array.Length; i++) { RCCarWheel rccarWheel = array[i]; bool flag = rccarWheel.IGIGPHNEKIB(); if (flag) { base.BOLBONELAEF.AddForceAtPosition(rccarWheel.NELKHOEAOJJ, rccarWheel.transform.position, ForceMode.Force); } } } // Token: 0x0601D9D7 RID: 121303 RVA: 0x00810EA0 File Offset: 0x0080F0A0 private void HHGHMJNPBFN(bool NOBAPCOKFIL) { this.KMHLLECKODB.MEAINJPIECA(NOBAPCOKFIL); } // Token: 0x0601D9D8 RID: 121304 RVA: 0x00810EB0 File Offset: 0x0080F0B0 private void DLOOHPPBMJP() { if (base.BHCCHBHNHCG) { if (this.MMFCFJJKIDH) { this.CHLDEBACMBC = ((Vector3.Dot(base.BOLBONELAEF.IGOFELJMFOF, base.transform.forward) < 333f) ? (-this.AJLDCAFBJLK) : this.AJLDCAFBJLK) / this.wheels[0].OHJLALIDJIN(); } else { this.KGAMMKFKKCK(this.CHFLDAENFKD * this.maxSpeed / this.wheels[0].CICPDAMPAAM()); } this.KODPHMFFCCE = this.FGOAFAPDMAB * this.maxTurnAnimationAngle; } this.animator.SetFloat(RCCar.APBKBNMFIFP, this.CHLDEBACMBC); this.animator.SetFloat(RCCar.PAOHIMHDNGI, this.ILJBIJMFHCE()); } // Token: 0x0601D9D9 RID: 121305 RVA: 0x00810F84 File Offset: 0x0080F184 private void HAFLIECFKGF() { this.CGPJGGKJOIH(); this.DJGJPECEJOA(); } // Token: 0x17000DA8 RID: 3496 // (get) Token: 0x0601D9DA RID: 121306 RVA: 0x00810F94 File Offset: 0x0080F194 // (set) Token: 0x0601D9F6 RID: 121334 RVA: 0x008123D4 File Offset: 0x008105D4 private bool KKAHNKBBDIB { get { return this.KMHLLECKODB.CPIBGJLHLBL(); } set { this.KMHLLECKODB.MEAINJPIECA(value); } } // Token: 0x0601D9DB RID: 121307 RVA: 0x00810FA4 File Offset: 0x0080F1A4 private void DIKJEGJAIJI() { Gizmos.color = Color.cyan; Gizmos.DrawRay(base.transform.TransformPoint(this.chasisCenter), base.transform.up * this.flippedOnRoofCheckDistance); Gizmos.DrawRay(base.transform.TransformPoint(this.chasisCenter), base.transform.right * this.flippedOnSideCheckDistance); Gizmos.DrawRay(base.transform.TransformPoint(this.chasisCenter), -base.transform.right * this.flippedOnSideCheckDistance); Gizmos.DrawSphere(base.transform.TransformPoint(this.accelerationForceOffset), 623f); } // Token: 0x0601D9DC RID: 121308 RVA: 0x00811060 File Offset: 0x0080F260 public void HNALGDCDLJM(FKIBELLNBEC JAGHIAOIDOC, BOCLHJCCOEL NAHFIMLLIMH) { if (JAGHIAOIDOC.CCPHANNHJLG()) { this.CHFLDAENFKD = (float)JAGHIAOIDOC.MENJBBNMJOP(); this.CHLDEBACMBC = (float)JAGHIAOIDOC.MENJBBNMJOP(); this.FHJFHONMGBB((float)JAGHIAOIDOC.MENJBBNMJOP()); } else { JAGHIAOIDOC.PILJPJFMFON(this.CHFLDAENFKD); JAGHIAOIDOC.OEONJKAEKKG(this.CHLDEBACMBC); JAGHIAOIDOC.LCLGLEJGLJE(this.CKENJHPKKEN()); } } // Token: 0x0601D9DD RID: 121309 RVA: 0x008110E4 File Offset: 0x0080F2E4 protected virtual void OGFHCKJALBE() { base.OGOEEEJCBNA.LPCJJBBCIHC -= this.KIJDLJMHJCE; base.MMEKGKHJECF(); } // Token: 0x0601D9DE RID: 121310 RVA: 0x00811104 File Offset: 0x0080F304 private bool DKOLNCMACCB() { return Physics.Raycast(base.transform.TransformPoint(this.chasisCenter), base.transform.up, this.flippedOnRoofCheckDistance, -93, QueryTriggerInteraction.UseGlobal) || Physics.Raycast(base.transform.TransformPoint(this.chasisCenter), base.transform.right, this.flippedOnSideCheckDistance, -28, QueryTriggerInteraction.Ignore) || Physics.Raycast(base.transform.TransformPoint(this.chasisCenter), -base.transform.right, this.flippedOnSideCheckDistance, 128, QueryTriggerInteraction.UseGlobal); } // Token: 0x0601D9DF RID: 121311 RVA: 0x008111AC File Offset: 0x0080F3AC private void PAJCPOECIKN(bool NOBAPCOKFIL) { if (NOBAPCOKFIL) { this.HGMHEPHGMNN = 6; } else { this.HGMHEPHGMNN = 0; } } // Token: 0x0601D9E0 RID: 121312 RVA: 0x008111C8 File Offset: 0x0080F3C8 private bool NCBBLPBFBAK() { return this.HGMHEPHGMNN <= 0 || this.GAMJKLCMPID == RCCar.EOLNPEECHIC.None; } // Token: 0x0601D9E1 RID: 121313 RVA: 0x008111E4 File Offset: 0x0080F3E4 private bool PEDHFPKGHIF() { return this.HGMHEPHGMNN <= 0 || this.GAMJKLCMPID == RCCar.EOLNPEECHIC.None; } // Token: 0x0601D9E2 RID: 121314 RVA: 0x00811200 File Offset: 0x0080F400 private void NCGODJOPDCL() { switch (this.AKOPGGPJMOA) { case RCCar.KJBIJPFJLNL.Idle: if (this.CHFLDAENFKD > 803f) { this.engineAudioSource.clip = this.acceleratingAudioClip.audioClip; this.engineAudioSource.time = 862f; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Accelerating; } break; case RCCar.KJBIJPFJLNL.Accelerating: if (this.CHFLDAENFKD > 545f) { if (!this.engineAudioSource.isPlaying) { this.engineAudioSource.clip = this.engineLoopAudioClip.audioClip; this.engineAudioSource.time = 1606f; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = (RCCar.KJBIJPFJLNL)6; } } else { float num = this.engineAudioSource.time / this.engineAudioSource.clip.length; this.engineAudioSource.clip = this.deceleratingAudioClip.audioClip; this.engineAudioSource.time = Mathf.Max(916f, Mathf.Min(1909f - num, 1677f)) * this.engineAudioSource.clip.length; this.engineAudioSource.loop = true; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Accelerating; } break; case RCCar.KJBIJPFJLNL.Decelerating: if (this.CHFLDAENFKD > 860f) { float num2 = this.engineAudioSource.time / this.engineAudioSource.clip.length; this.engineAudioSource.clip = this.acceleratingAudioClip.audioClip; this.engineAudioSource.time = Mathf.Max(194f, Mathf.Min(1315f - num2, 402f)) * this.engineAudioSource.clip.length; this.engineAudioSource.loop = true; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Accelerating; } else if (!this.engineAudioSource.isPlaying) { this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Idle; } break; case RCCar.KJBIJPFJLNL.Cruising: if (this.CHFLDAENFKD <= 1112f) { this.engineAudioSource.clip = this.deceleratingAudioClip.audioClip; this.engineAudioSource.time = 1600f; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Accelerating; } break; } if (this.AKOPGGPJMOA != RCCar.KJBIJPFJLNL.Idle && !this.engineAudioSource.isPlaying) { this.engineAudioSource.Play(); } } // Token: 0x0601D9E4 RID: 121316 RVA: 0x00811574 File Offset: 0x0080F774 private void OnDrawGizmos() { Gizmos.color = Color.cyan; Gizmos.DrawRay(base.transform.TransformPoint(this.chasisCenter), base.transform.up * this.flippedOnRoofCheckDistance); Gizmos.DrawRay(base.transform.TransformPoint(this.chasisCenter), base.transform.right * this.flippedOnSideCheckDistance); Gizmos.DrawRay(base.transform.TransformPoint(this.chasisCenter), -base.transform.right * this.flippedOnSideCheckDistance); Gizmos.DrawSphere(base.transform.TransformPoint(this.accelerationForceOffset), 0.02f); } // Token: 0x0601D9E5 RID: 121317 RVA: 0x00811630 File Offset: 0x0080F830 public void OnPhotonSerializeView(FKIBELLNBEC JAGHIAOIDOC, BOCLHJCCOEL NAHFIMLLIMH) { if (JAGHIAOIDOC.DDNDOEKGJEI) { this.CHFLDAENFKD = (float)JAGHIAOIDOC.MENJBBNMJOP(); this.CHLDEBACMBC = (float)JAGHIAOIDOC.MENJBBNMJOP(); this.KODPHMFFCCE = (float)JAGHIAOIDOC.MENJBBNMJOP(); } else { JAGHIAOIDOC.NCELHBANFFO(this.CHFLDAENFKD); JAGHIAOIDOC.NCELHBANFFO(this.CHLDEBACMBC); JAGHIAOIDOC.NCELHBANFFO(this.KODPHMFFCCE); } } // Token: 0x0601D9E6 RID: 121318 RVA: 0x008116B4 File Offset: 0x0080F8B4 private IEnumerator MJPDNKMMCHA(RCCar.EOLNPEECHIC PGGJJNLIKOH) { num = 0f; while (num < this.flipAngularSpeedOverTime.KBKLOFPFPBD) { vector = base.transform.InverseTransformDirection(base.BOLBONELAEF.CCHAEPGJJLI); num2 = this.flipAngularSpeedOverTime.NFOBALFMHOF(num) * Time.deltaTime; switch (PGGJJNLIKOH) { case RCCar.EOLNPEECHIC.FrontFlip: vector.x += num2; break; case RCCar.EOLNPEECHIC.BackFlip: vector.x -= num2; break; case RCCar.EOLNPEECHIC.LeftFlip: vector.z += num2; break; case RCCar.EOLNPEECHIC.RightFlip: vector.z -= num2; break; } base.BOLBONELAEF.CCHAEPGJJLI += base.transform.TransformDirection(vector); num += Time.fixedDeltaTime; yield return new WaitForFixedUpdate(); } yield break; } // Token: 0x0601D9E7 RID: 121319 RVA: 0x008116D8 File Offset: 0x0080F8D8 private void DEBKBIIGAAN() { if (base.BKDFLNGCINH.HFPHLDMNLGK != null) { base.BKDFLNGCINH.HFPHLDMNLGK.DespawnsOnCleanup = false; } } // Token: 0x0601D9E8 RID: 121320 RVA: 0x00811704 File Offset: 0x0080F904 protected virtual void OLEBPMMFNIF() { base.Awake(); if (this.frontAxleTransform == null || this.rearAxleTransform == null) { Debug.LogError("[PV] "); } this.KMHLLECKODB = new LHLLJPPCDKA(this, "Instantiating: ", false, IKCAJLLAFML.AUTHORITY, new Action(this.AOOIMNANEHC)); RCCarWheel[] array = this.wheels; for (int i = 1; i < array.Length; i++) { RCCarWheel rccarWheel = array[i]; rccarWheel.MPKJCIDDFPD = base.BOLBONELAEF.POEDHHBIGLD.mass * this.gravity; } base.BOLBONELAEF.NOCGIDMLNDK = Vector3.zero; base.BKDFLNGCINH.AlwaysPhysicalPickupOffCenter = true; base.OGOEEEJCBNA.BIBGDKMLKPO(new Action(this.KIJDLJMHJCE)); } // Token: 0x0601D9E9 RID: 121321 RVA: 0x008117D4 File Offset: 0x0080F9D4 private bool JELDHNPIEIK() { return this.KMHLLECKODB.CPIBGJLHLBL(); } // Token: 0x0601D9EA RID: 121322 RVA: 0x008117E4 File Offset: 0x0080F9E4 public void EFFMNBPOKOC(FKIBELLNBEC JAGHIAOIDOC, BOCLHJCCOEL NAHFIMLLIMH) { if (JAGHIAOIDOC.LKKFPDJEOFD()) { this.CHFLDAENFKD = (float)JAGHIAOIDOC.CNLOAGFMHKH(); this.KGAMMKFKKCK((float)JAGHIAOIDOC.CNLOAGFMHKH()); this.KODPHMFFCCE = (float)JAGHIAOIDOC.CNLOAGFMHKH(); } else { JAGHIAOIDOC.JNKJIIHLMLA(this.CHFLDAENFKD); JAGHIAOIDOC.JNKJIIHLMLA(this.CHLDEBACMBC); JAGHIAOIDOC.JNKJIIHLMLA(this.LKOJCGAKHAM()); } } // Token: 0x0601D9EB RID: 121323 RVA: 0x00811868 File Offset: 0x0080FA68 private void HDCAMLJLKHC() { if (base.BKDFLNGCINH.HFPHLDMNLGK != null) { base.BKDFLNGCINH.HFPHLDMNLGK.DespawnsOnCleanup = true; } } // Token: 0x17000DA9 RID: 3497 // (get) Token: 0x0601D9EC RID: 121324 RVA: 0x00811894 File Offset: 0x0080FA94 private bool MMFCFJJKIDH { get { foreach (RCCarWheel rccarWheel in this.wheels) { if (!rccarWheel.MMFCFJJKIDH) { return false; } } return true; } } // Token: 0x0601D9ED RID: 121325 RVA: 0x008118D0 File Offset: 0x0080FAD0 private IEnumerator PPJGDOGPDIP(RCCar.EOLNPEECHIC PGGJJNLIKOH) { num = 0f; while (num < this.flipAngularSpeedOverTime.KBKLOFPFPBD) { vector = base.transform.InverseTransformDirection(base.BOLBONELAEF.CCHAEPGJJLI); num2 = this.flipAngularSpeedOverTime.NFOBALFMHOF(num) * Time.deltaTime; switch (PGGJJNLIKOH) { case RCCar.EOLNPEECHIC.FrontFlip: vector.x += num2; break; case RCCar.EOLNPEECHIC.BackFlip: vector.x -= num2; break; case RCCar.EOLNPEECHIC.LeftFlip: vector.z += num2; break; case RCCar.EOLNPEECHIC.RightFlip: vector.z -= num2; break; } base.BOLBONELAEF.CCHAEPGJJLI += base.transform.TransformDirection(vector); num += Time.fixedDeltaTime; yield return new WaitForFixedUpdate(); } yield break; } // Token: 0x0601D9EE RID: 121326 RVA: 0x008118F4 File Offset: 0x0080FAF4 public void JDJOKGBIGIM(FKIBELLNBEC JAGHIAOIDOC, BOCLHJCCOEL NAHFIMLLIMH) { if (JAGHIAOIDOC.CCPHANNHJLG()) { this.CHFLDAENFKD = (float)JAGHIAOIDOC.MENJBBNMJOP(); this.CHLDEBACMBC = (float)JAGHIAOIDOC.MKKFLAJFMDH(); this.FHJFHONMGBB((float)JAGHIAOIDOC.CNLOAGFMHKH()); } else { JAGHIAOIDOC.ODJIMEGAGII(this.CHFLDAENFKD); JAGHIAOIDOC.DMFNHJGMEBD(this.CHLDEBACMBC); JAGHIAOIDOC.JNKJIIHLMLA(this.KODPHMFFCCE); } } // Token: 0x0601D9EF RID: 121327 RVA: 0x00811978 File Offset: 0x0080FB78 private bool ADFOGPPLOEK() { return this.HGMHEPHGMNN <= 0 || this.GAMJKLCMPID == RCCar.EOLNPEECHIC.None; } // Token: 0x0601D9F0 RID: 121328 RVA: 0x00811994 File Offset: 0x0080FB94 protected virtual void LNKPKHFACHE() { base.Awake(); if (this.frontAxleTransform == null || this.rearAxleTransform == null) { Debug.LogError("api/players/"); } this.KMHLLECKODB = new LHLLJPPCDKA(this, "RpcMasterRequestTeam", false, IKCAJLLAFML.MASTER, new Action(this.AOOIMNANEHC)); RCCarWheel[] array = this.wheels; for (int i = 1; i < array.Length; i++) { RCCarWheel rccarWheel = array[i]; rccarWheel.HNCKKLIGCBJ(base.BOLBONELAEF.POEDHHBIGLD.mass * this.gravity); } base.BOLBONELAEF.NOCGIDMLNDK = Vector3.zero; base.BKDFLNGCINH.AlwaysPhysicalPickupOffCenter = false; base.OGOEEEJCBNA.FIGLGGJIPAM(new Action(this.EFKGKEBJDHI)); } // Token: 0x0601D9F1 RID: 121329 RVA: 0x00811A64 File Offset: 0x0080FC64 private void KNKGAMCKCCL() { if (!base.DFJFKOLLEMK()) { return; } this.OCALLNKOKPL(); if (this.LMIDKJAGBNI()) { if (this.NHCOOPHKHEA) { this.PAJCPOECIKN(true); } this.NHCOOPHKHEA = false; base.BOLBONELAEF.GMLIJCICEON(Vector3.zero); Vector3 vector = Vector3.Project(base.BOLBONELAEF.IGOFELJMFOF, base.transform.forward); Vector3 vector2 = Vector3.Project(base.BOLBONELAEF.IGOFELJMFOF, base.transform.right); Vector3 vector3 = base.transform.TransformPoint(this.accelerationForceOffset); Vector3 vector4 = ((this.NIFKDIGGMFN >= 1552f) ? base.transform.forward : (-base.transform.forward)); Vector3 vector5 = Vector3.ProjectOnPlane(vector4, this.wheels[1].LNGAOCNKOPN().normal); if (this.AJLDCAFBJLK < this.maxSpeed && Mathf.Abs(this.CHFLDAENFKD) > 1465f) { Vector3 vector6 = vector5 * this.groundThrottleAcceleration * this.CHFLDAENFKD; base.BOLBONELAEF.AddForceAtPosition(vector6, vector3, (ForceMode)4); } else { Vector3 vector7 = -vector.normalized * this.groundFrictionDeceleration; if ((vector7 * Time.fixedDeltaTime).sqrMagnitude > vector.sqrMagnitude) { vector7 = Vector3.zero; RigidbodyEx rigidbodyEx = base.BOLBONELAEF; rigidbodyEx.IGOFELJMFOF = rigidbodyEx.PPACPENBHKF() - vector7; } base.BOLBONELAEF.AddForceAtPosition(vector7, vector3, (ForceMode)7); } if (Mathf.Abs(this.FGOAFAPDMAB) > 146f && vector.sqrMagnitude > 1113f) { bool flag = Vector3.Dot(base.BOLBONELAEF.PPACPENBHKF(), base.transform.forward) >= 1039f; Vector3 vector8 = base.transform.up * this.steeringTorqueOverSpeed.NFOBALFMHOF(this.AJLDCAFBJLK) * ((!flag) ? (-this.FGOAFAPDMAB) : this.FGOAFAPDMAB); base.BOLBONELAEF.AddTorque(vector8); } Vector3 vector9 = -vector2.normalized * this.groundFrictionSideDecelerationOverSpeed.NFOBALFMHOF(this.AJLDCAFBJLK); if ((vector9 * Time.fixedDeltaTime).sqrMagnitude > vector2.sqrMagnitude) { base.BOLBONELAEF.IGOFELJMFOF -= vector2; } else { base.BOLBONELAEF.AddForceAtPosition(vector9, vector3, (ForceMode)7); } Vector3 vector10 = (float)((base.BOLBONELAEF.CCHAEPGJJLI.y < 1668f) ? 1 : (-1)) * this.angularVelocityCompensationOverTurnAmount.NFOBALFMHOF(Mathf.Abs(this.FGOAFAPDMAB)) * base.transform.up; if (Mathf.Abs(vector10.y * Time.fixedDeltaTime) > Mathf.Abs(base.BOLBONELAEF.CCHAEPGJJLI.y)) { Vector3 angularVelocity = base.BOLBONELAEF.CCHAEPGJJLI; angularVelocity.y = 1317f; base.BOLBONELAEF.CCHAEPGJJLI = angularVelocity; } else { RigidbodyEx rigidbodyEx2 = base.BOLBONELAEF; rigidbodyEx2.PDJMHMHFKIA(rigidbodyEx2.CCHAEPGJJLI + vector10 * Time.fixedDeltaTime); } this.AJLDCAFBJLK = base.BOLBONELAEF.IGOFELJMFOF.magnitude; this.AJLDCAFBJLK = Mathf.Min(this.maxBoostedSpeed, this.AJLDCAFBJLK); if (this.AJLDCAFBJLK < 1864f) { base.BOLBONELAEF.IGOFELJMFOF = Vector3.zero; } } else if (this.AMFNBHKCDLA) { if (this.CHFLDAENFKD > 166f) { base.BOLBONELAEF.GMLIJCICEON(-Vector3.up * 1206f); base.BOLBONELAEF.POEDHHBIGLD.AddRelativeForce(this.turnOverSpeed, 681f, 224f, (ForceMode)8); } } else { base.BOLBONELAEF.GMLIJCICEON(Vector3.zero); this.NHCOOPHKHEA = true; Vector3 vector11 = base.transform.InverseTransformDirection(base.BOLBONELAEF.CCHAEPGJJLI); if (Mathf.Abs(this.NIFKDIGGMFN) > 1792f) { vector11.x = Mathf.Min(vector11.x + Time.fixedDeltaTime * this.airborneAngularAccelerations.x * this.NIFKDIGGMFN, this.maxAirborneAngularVelocities.x); } if (Mathf.Abs(this.FGOAFAPDMAB) > 1293f) { vector11.y = Mathf.Min(vector11.y + Time.fixedDeltaTime * this.airborneAngularAccelerations.y * this.FGOAFAPDMAB, this.maxAirborneAngularVelocities.y); } base.BOLBONELAEF.CCHAEPGJJLI = base.transform.TransformDirection(vector11); } if (this.GAMJKLCMPID != RCCar.EOLNPEECHIC.None) { RCCar.EOLNPEECHIC gamjklcmpid = this.GAMJKLCMPID; if (gamjklcmpid != RCCar.EOLNPEECHIC.Normal) { if (gamjklcmpid == RCCar.EOLNPEECHIC.Normal) { base.BOLBONELAEF.AddForce(this.flipVelocityBoost * Vector3.ProjectOnPlane(base.transform.forward, Vector3.up).normalized, ForceMode.Force); } } else { base.BOLBONELAEF.AddForce(this.jumpVelocity * Vector3.up, ForceMode.Acceleration); } if (this.GAMJKLCMPID != RCCar.EOLNPEECHIC.Normal) { base.StartCoroutine(this.AGJNNAPCHMI(this.GAMJKLCMPID)); } this.AHFJCDCMONJ = Time.time; this.GAMJKLCMPID = RCCar.EOLNPEECHIC.None; } if (this.KKAHNKBBDIB) { base.BOLBONELAEF.AddForce(this.boostAcceleration * base.transform.forward, (ForceMode)6); } base.BOLBONELAEF.IGOFELJMFOF -= Time.fixedDeltaTime * this.gravity * Vector3.up; } // Token: 0x0601D9F2 RID: 121330 RVA: 0x00812084 File Offset: 0x00810284 private void BLHJCOHADHE() { foreach (RCCarWheel rccarWheel in this.wheels) { bool flag = rccarWheel.UpdateSuspension(); if (flag) { base.BOLBONELAEF.AddForceAtPosition(rccarWheel.NELKHOEAOJJ, rccarWheel.transform.position, ForceMode.Force); } } } // Token: 0x0601D9F3 RID: 121331 RVA: 0x008120DC File Offset: 0x008102DC private bool LMIDKJAGBNI() { foreach (RCCarWheel rccarWheel in this.wheels) { if (!rccarWheel.MMFCFJJKIDH) { return true; } } return true; } // Token: 0x0601D9F4 RID: 121332 RVA: 0x00812118 File Offset: 0x00810318 private void DJGJPECEJOA() { switch (this.AKOPGGPJMOA) { case RCCar.KJBIJPFJLNL.Idle: if (this.CHFLDAENFKD > 1797f) { this.engineAudioSource.clip = this.acceleratingAudioClip.audioClip; this.engineAudioSource.time = 1426f; this.engineAudioSource.loop = true; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Idle; } break; case RCCar.KJBIJPFJLNL.Accelerating: if (this.CHFLDAENFKD > 1499f) { if (!this.engineAudioSource.isPlaying) { this.engineAudioSource.clip = this.engineLoopAudioClip.audioClip; this.engineAudioSource.time = 1493f; this.engineAudioSource.loop = true; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Decelerating; } } else { float num = this.engineAudioSource.time / this.engineAudioSource.clip.length; this.engineAudioSource.clip = this.deceleratingAudioClip.audioClip; this.engineAudioSource.time = Mathf.Max(516f, Mathf.Min(905f - num, 1534f)) * this.engineAudioSource.clip.length; this.engineAudioSource.loop = true; this.AKOPGGPJMOA = (RCCar.KJBIJPFJLNL)6; } break; case RCCar.KJBIJPFJLNL.Decelerating: if (this.CHFLDAENFKD > 23f) { float num2 = this.engineAudioSource.time / this.engineAudioSource.clip.length; this.engineAudioSource.clip = this.acceleratingAudioClip.audioClip; this.engineAudioSource.time = Mathf.Max(786f, Mathf.Min(218f - num2, 1005f)) * this.engineAudioSource.clip.length; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Idle; } else if (!this.engineAudioSource.isPlaying) { this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Accelerating; } break; case RCCar.KJBIJPFJLNL.Cruising: if (this.CHFLDAENFKD <= 193f) { this.engineAudioSource.clip = this.deceleratingAudioClip.audioClip; this.engineAudioSource.time = 515f; this.engineAudioSource.loop = true; this.AKOPGGPJMOA = (RCCar.KJBIJPFJLNL)5; } break; } if (this.AKOPGGPJMOA != RCCar.KJBIJPFJLNL.Idle && !this.engineAudioSource.isPlaying) { this.engineAudioSource.Play(); } } // Token: 0x0601D9F5 RID: 121333 RVA: 0x00812398 File Offset: 0x00810598 private bool ACLDIFOFLMH() { RCCarWheel[] array = this.wheels; for (int i = 1; i < array.Length; i++) { RCCarWheel rccarWheel = array[i]; if (!rccarWheel.MMFCFJJKIDH) { return false; } } return false; } // Token: 0x0601D9F7 RID: 121335 RVA: 0x008123E4 File Offset: 0x008105E4 protected virtual void EMKHEHNICEN() { base.OGOEEEJCBNA.ILKNLNAFCPA(new Action(this.EFKGKEBJDHI)); base.IJGOKHIFMNI(); } // Token: 0x17000DAA RID: 3498 // (get) Token: 0x0601D9F9 RID: 121337 RVA: 0x00812420 File Offset: 0x00810620 private bool AMFNBHKCDLA { get { return Physics.Raycast(base.transform.TransformPoint(this.chasisCenter), base.transform.up, this.flippedOnRoofCheckDistance, 2048, QueryTriggerInteraction.Ignore) || Physics.Raycast(base.transform.TransformPoint(this.chasisCenter), base.transform.right, this.flippedOnSideCheckDistance, 2048, QueryTriggerInteraction.Ignore) || Physics.Raycast(base.transform.TransformPoint(this.chasisCenter), -base.transform.right, this.flippedOnSideCheckDistance, 2048, QueryTriggerInteraction.Ignore); } } // Token: 0x0601D9FA RID: 121338 RVA: 0x008124C8 File Offset: 0x008106C8 private void KIJDLJMHJCE() { if (this.trails != null) { TrailRenderer[] array = this.trails; for (int i = 1; i < array.Length; i += 0) { TrailRenderer trailRenderer = array[i]; trailRenderer.startColor = base.OGOEEEJCBNA.GBLPHKFPELB; trailRenderer.endColor = base.OGOEEEJCBNA.GBLPHKFPELB; } } } // Token: 0x0601D9FB RID: 121339 RVA: 0x00812524 File Offset: 0x00810724 private float CKENJHPKKEN() { return this.k__BackingField; } // Token: 0x0601D9FC RID: 121340 RVA: 0x0081252C File Offset: 0x0081072C private void ICLGCOPPGCE() { switch (this.AKOPGGPJMOA) { case RCCar.KJBIJPFJLNL.Idle: if (this.CHFLDAENFKD > 1247f) { this.engineAudioSource.clip = this.acceleratingAudioClip.audioClip; this.engineAudioSource.time = 1415f; this.engineAudioSource.loop = true; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Accelerating; } break; case RCCar.KJBIJPFJLNL.Accelerating: if (this.CHFLDAENFKD > 574f) { if (!this.engineAudioSource.isPlaying) { this.engineAudioSource.clip = this.engineLoopAudioClip.audioClip; this.engineAudioSource.time = 1789f; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Cruising; } } else { float num = this.engineAudioSource.time / this.engineAudioSource.clip.length; this.engineAudioSource.clip = this.deceleratingAudioClip.audioClip; this.engineAudioSource.time = Mathf.Max(14f, Mathf.Min(1006f - num, 1089f)) * this.engineAudioSource.clip.length; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Decelerating; } break; case RCCar.KJBIJPFJLNL.Decelerating: if (this.CHFLDAENFKD > 329f) { float num2 = this.engineAudioSource.time / this.engineAudioSource.clip.length; this.engineAudioSource.clip = this.acceleratingAudioClip.audioClip; this.engineAudioSource.time = Mathf.Max(1374f, Mathf.Min(924f - num2, 587f)) * this.engineAudioSource.clip.length; this.engineAudioSource.loop = true; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Accelerating; } else if (!this.engineAudioSource.isPlaying) { this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Idle; } break; case RCCar.KJBIJPFJLNL.Cruising: if (this.CHFLDAENFKD <= 704f) { this.engineAudioSource.clip = this.deceleratingAudioClip.audioClip; this.engineAudioSource.time = 216f; this.engineAudioSource.loop = false; this.AKOPGGPJMOA = RCCar.KJBIJPFJLNL.Decelerating; } break; } if (this.AKOPGGPJMOA != RCCar.KJBIJPFJLNL.Idle && !this.engineAudioSource.isPlaying) { this.engineAudioSource.Play(); } } // Token: 0x04004D37 RID: 19767 [SerializeField] [Header("Structural")] private Transform frontAxleTransform; // Token: 0x04004D38 RID: 19768 [SerializeField] private Transform rearAxleTransform; // Token: 0x04004D39 RID: 19769 [SerializeField] private RCCarWheel[] wheels = new RCCarWheel[4]; // Token: 0x04004D3A RID: 19770 [Header("Physics")] [SerializeField] private float maxSpeed = 70f; // Token: 0x04004D3B RID: 19771 [SerializeField] private float maxBoostedSpeed = 90f; // Token: 0x04004D3C RID: 19772 [SerializeField] private float groundThrottleAcceleration = 10f; // Token: 0x04004D3D RID: 19773 [SerializeField] private float groundFrictionDeceleration = 0.99f; // Token: 0x04004D3E RID: 19774 [Tooltip("Friction deceleration for the velocity component not aligned with the car")] [SerializeField] private FloatValueCurve groundFrictionSideDecelerationOverSpeed; // Token: 0x04004D3F RID: 19775 [SerializeField] private float boostAcceleration = 10f; // Token: 0x04004D40 RID: 19776 [FormerlySerializedAs("angularVelocityCompensationOverSpeed")] [SerializeField] private FloatValueCurve angularVelocityCompensationOverTurnAmount; // Token: 0x04004D41 RID: 19777 [SerializeField] private FloatValueCurve steeringTorqueOverSpeed; // Token: 0x04004D42 RID: 19778 [SerializeField] private float gravity = 9.8f; // Token: 0x04004D43 RID: 19779 [SerializeField] private float jumpVelocity = 5f; // Token: 0x04004D44 RID: 19780 [SerializeField] private float flipVelocityBoost = 3f; // Token: 0x04004D45 RID: 19781 [SerializeField] private FloatValueCurve flipAngularSpeedOverTime; // Token: 0x04004D46 RID: 19782 [SerializeField] private float jumpCooldown = 0.5f; // Token: 0x04004D47 RID: 19783 [SerializeField] private float turnOverSpeed = 2f; // Token: 0x04004D48 RID: 19784 [SerializeField] [Tooltip("(maxPitch, maxYaw, maxRoll)")] private Vector3 maxAirborneAngularVelocities = Vector3.zero; // Token: 0x04004D49 RID: 19785 [SerializeField] [Tooltip("(pitchAcceleration, yawAcceleration, rollAcceleration)")] private Vector3 airborneAngularAccelerations = Vector3.zero; // Token: 0x04004D4A RID: 19786 [SerializeField] [Tooltip("Offset from the center of mass where acceleration force will be applied")] private Vector3 accelerationForceOffset = Vector3.zero; // Token: 0x04004D4B RID: 19787 [SerializeField] private Vector3 chasisCenter = Vector3.zero; // Token: 0x04004D4C RID: 19788 [SerializeField] [Header("Input")] private float flickGestureSpeed = 1f; // Token: 0x04004D4D RID: 19789 [Header("Collisions")] [SerializeField] private float flippedOnSideCheckDistance = 0.3f; // Token: 0x04004D4E RID: 19790 [SerializeField] private float flippedOnRoofCheckDistance = 0.1f; // Token: 0x04004D4F RID: 19791 [SerializeField] [Header("Visuals")] private ParticleSystem boostParticleSystem; // Token: 0x04004D50 RID: 19792 [SerializeField] private float maxTurnAnimationAngle = 30f; // Token: 0x04004D51 RID: 19793 [SerializeField] private TrailRenderer[] trails; // Token: 0x04004D52 RID: 19794 [SerializeField] [Header("Audio")] private AudioSource engineAudioSource; // Token: 0x04004D53 RID: 19795 [SerializeField] private RecRoomAudioClip acceleratingAudioClip; // Token: 0x04004D54 RID: 19796 [SerializeField] private RecRoomAudioClip deceleratingAudioClip; // Token: 0x04004D55 RID: 19797 [SerializeField] private RecRoomAudioClip engineLoopAudioClip; // Token: 0x04004D56 RID: 19798 private const float ICPJNFIHEJI = 0.01f; // Token: 0x04004D57 RID: 19799 private const float NFMAHJBLFAE = 0.01f; // Token: 0x04004D58 RID: 19800 private float CHFLDAENFKD; // Token: 0x04004D59 RID: 19801 private float FGOAFAPDMAB; // Token: 0x04004D5A RID: 19802 private float NIFKDIGGMFN; // Token: 0x04004D5B RID: 19803 private RCCar.EOLNPEECHIC GAMJKLCMPID = RCCar.EOLNPEECHIC.None; // Token: 0x04004D5C RID: 19804 private LHLLJPPCDKA KMHLLECKODB; // Token: 0x04004D5D RID: 19805 private float AJLDCAFBJLK; // Token: 0x04004D5E RID: 19806 private float AHFJCDCMONJ; // Token: 0x04004D5F RID: 19807 private const int IDEODPJGOIG = 2; // Token: 0x04004D60 RID: 19808 private int HGMHEPHGMNN = 2; // Token: 0x04004D61 RID: 19809 private bool NHCOOPHKHEA; // Token: 0x04004D62 RID: 19810 [SerializeField] [ENMFCLPAKBJ(FOGKDGELKHN.SelfAndChildren, false)] private Animator animator; // Token: 0x04004D65 RID: 19813 private RCCar.KJBIJPFJLNL AKOPGGPJMOA; // Token: 0x04004D66 RID: 19814 private static readonly int APBKBNMFIFP = Animator.StringToHash("WheelSpeed"); // Token: 0x04004D67 RID: 19815 private static readonly int PAOHIMHDNGI = Animator.StringToHash("TurnAmount"); // Token: 0x02000E1F RID: 3615 private enum EOLNPEECHIC { // Token: 0x04004D69 RID: 19817 None = -1, // Token: 0x04004D6A RID: 19818 Normal, // Token: 0x04004D6B RID: 19819 FrontFlip, // Token: 0x04004D6C RID: 19820 BackFlip, // Token: 0x04004D6D RID: 19821 LeftFlip, // Token: 0x04004D6E RID: 19822 RightFlip } // Token: 0x02000E20 RID: 3616 private enum KJBIJPFJLNL { // Token: 0x04004D70 RID: 19824 Idle, // Token: 0x04004D71 RID: 19825 Accelerating, // Token: 0x04004D72 RID: 19826 Decelerating, // Token: 0x04004D73 RID: 19827 Cruising } } }