using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Threading; using RecRoom.Core.AI; using RecRoom.Core.Rendering; using UnityEngine; using UnityEngine.Serialization; namespace RecRoom.Tools.Weapons { // Token: 0x02000FB8 RID: 4024 public class Bullet : MonoBehaviour { // Token: 0x06021BD1 RID: 138193 RVA: 0x00939780 File Offset: 0x00937980 public void KFILPPJHFCM(Bullet.GOJKIAGKJMO NOBAPCOKFIL) { Bullet.GOJKIAGKJMO gojkiagkjmo = this.OFMHAGBKEHG; Bullet.GOJKIAGKJMO gojkiagkjmo2; do { gojkiagkjmo2 = gojkiagkjmo; gojkiagkjmo = Interlocked.CompareExchange(ref this.OFMHAGBKEHG, (Bullet.GOJKIAGKJMO)Delegate.Remove(gojkiagkjmo2, NOBAPCOKFIL), gojkiagkjmo); } while (gojkiagkjmo != gojkiagkjmo2); } // Token: 0x06021BD2 RID: 138194 RVA: 0x009397B8 File Offset: 0x009379B8 private void OnDrawGizmos() { Gizmos.color = Color.green; Gizmos.DrawWireSphere(this.MBDDHLGBLNJ, this.colliderRadius); Gizmos.color = Color.white; Gizmos.DrawWireSphere(this.MBDDHLGBLNJ, this.GHBIPKNAOFC); } // Token: 0x06021BD3 RID: 138195 RVA: 0x009397F0 File Offset: 0x009379F0 protected float GLMLNBELIKO() { return this.k__BackingField; } // Token: 0x06021BD4 RID: 138196 RVA: 0x009397F8 File Offset: 0x009379F8 private bool NMFCNDOMPEC(Vector3 JCAMIMICGAH, out EFIABKCOFBE FMHCOGJJNFO) { Vector3 vector = this.PABLKMDOCOP(JCAMIMICGAH, 2); bool flag = this.MFNHDDOPCPL.IKKHOOPNPKL(vector, JCAMIMICGAH, this.GHBIPKNAOFC, 496385536, this.FOKHKLBPNLH, out FMHCOGJJNFO); return flag && FMHCOGJJNFO.ANLPOIMKHLH != 0f; } // Token: 0x06021BD5 RID: 138197 RVA: 0x00939848 File Offset: 0x00937A48 private void ANGFBLOOGAG(int BICBDINPJNI, Color HNOPCLEFEIG) { if (this.DONLKLOALMJ) { this.MDGKHJAMPLG.GBLPHKFPELB = HNOPCLEFEIG; } else if (this.visualRenderer != null) { if (this.MAHDCECFMKN == null) { this.MAHDCECFMKN = new MaterialPropertyBlock(); } this.MAHDCECFMKN.SetColor(BICBDINPJNI, HNOPCLEFEIG); this.visualRenderer.SetPropertyBlock(this.MAHDCECFMKN); } } // Token: 0x06021BD6 RID: 138198 RVA: 0x009398B8 File Offset: 0x00937AB8 public void HCEKLOEIMOP(Bullet.CNPNCBACBJB NOBAPCOKFIL) { Bullet.CNPNCBACBJB cnpncbacbjb = this.PAOJGBKGGDK; Bullet.CNPNCBACBJB cnpncbacbjb2; do { cnpncbacbjb2 = cnpncbacbjb; cnpncbacbjb = Interlocked.CompareExchange(ref this.PAOJGBKGGDK, (Bullet.CNPNCBACBJB)Delegate.Combine(cnpncbacbjb2, NOBAPCOKFIL), cnpncbacbjb); } while (cnpncbacbjb != cnpncbacbjb2); } // Token: 0x14000169 RID: 361 // (add) Token: 0x06021C3F RID: 138303 RVA: 0x0093B870 File Offset: 0x00939A70 // (remove) Token: 0x06021BD7 RID: 138199 RVA: 0x009398F0 File Offset: 0x00937AF0 [field: DebuggerBrowsable(DebuggerBrowsableState.Never)] public event Bullet.CNPNCBACBJB PAOJGBKGGDK; // Token: 0x17000FD4 RID: 4052 // (get) Token: 0x06021C42 RID: 138306 RVA: 0x0093B8E0 File Offset: 0x00939AE0 // (set) Token: 0x06021BD8 RID: 138200 RVA: 0x00939928 File Offset: 0x00937B28 private protected Enemy EDFMKHMPFAL { protected get; private set; } // Token: 0x06021BD9 RID: 138201 RVA: 0x00939934 File Offset: 0x00937B34 private bool HFJFMKHBOLP(Vector3 JCAMIMICGAH, out EFIABKCOFBE FMHCOGJJNFO) { Vector3 vector = this.PABLKMDOCOP(JCAMIMICGAH, 3); bool flag = this.MFNHDDOPCPL.KHJCEANHJOA(vector, JCAMIMICGAH, this.GHBIPKNAOFC, -101, this.FOKHKLBPNLH, out FMHCOGJJNFO); return !flag || FMHCOGJJNFO.ANLPOIMKHLH == 1478f; } // Token: 0x06021BDA RID: 138202 RVA: 0x00939984 File Offset: 0x00937B84 protected void JKEEDMIAFLP(float NOBAPCOKFIL) { this.k__BackingField = NOBAPCOKFIL; } // Token: 0x06021BDB RID: 138203 RVA: 0x00939990 File Offset: 0x00937B90 private void IEOHDNFJLDN(Enemy AKICADDPOIF, MHEBDODJGOA OMPOICMBDBP, IHEAKAOGCIF CACIBBKDNIH) { if (this.ACIKEHPDJHB(AKICADDPOIF.gameObject) && this.PAOJGBKGGDK != null) { this.PAOJGBKGGDK(this, AKICADDPOIF, OMPOICMBDBP, CACIBBKDNIH); } } // Token: 0x06021BDC RID: 138204 RVA: 0x009399C0 File Offset: 0x00937BC0 public void IOCKAFACNLH(Bullet.GOJKIAGKJMO NOBAPCOKFIL) { Bullet.GOJKIAGKJMO gojkiagkjmo = this.OFMHAGBKEHG; Bullet.GOJKIAGKJMO gojkiagkjmo2; do { gojkiagkjmo2 = gojkiagkjmo; gojkiagkjmo = Interlocked.CompareExchange(ref this.OFMHAGBKEHG, (Bullet.GOJKIAGKJMO)Delegate.Combine(gojkiagkjmo2, NOBAPCOKFIL), gojkiagkjmo); } while (gojkiagkjmo != gojkiagkjmo2); } // Token: 0x06021BDD RID: 138205 RVA: 0x009399F8 File Offset: 0x00937BF8 public virtual void Fire(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 ONDBGEBPLHB, float AANFBKPMJEL, float FNNAAICLLFC, List FOKHKLBPNLH, float DPCGOOIPLBM) { if (this.DONLKLOALMJ) { BulletInstanceRenderer.NCKMBFBMBFM.EnableInstancedRenderer(this.MDGKHJAMPLG); } base.enabled = true; this.GHBIPKNAOFC = this.colliderRadius; this.DJJJAGCAPPO = AANFBKPMJEL; this.EANCBPMKLKN = DPCGOOIPLBM; this.FNNAAICLLFC = FNNAAICLLFC; base.transform.position = CIGPHKLAAOD; base.transform.rotation = IJGPPOIJDKO; this.IGOFELJMFOF = ONDBGEBPLHB; this.ONDDGIJONJL = Vector3.zero; this.FOKHKLBPNLH = FOKHKLBPNLH; this.NNDIBBPDKMI = Time.fixedTime; this.OLGFHGAEILI = 0; if (this.ECCNKFBMMFE != null) { this.ECCNKFBMMFE.enabled = true; } if (this.particles != null) { this.HFOKJHNLLPC(new Action(this.FFLIFKPDCDD)); } if (this.audioLoop != null && this.audioLoop.audioClip != null) { this.POHCLHLAPKO = AudioManager.StartLooping3DSFX(this.audioLoop, base.transform, null); } if (this.CDAABBEPMIC != null && this.CGAIEFABDKF != null) { string animationForTrigger = this.CGAIEFABDKF.GetAnimationForTrigger(this.BALGIKMCJHI); this.CDAABBEPMIC.Play(animationForTrigger); } else if (this.FIOLBHFJENN != null) { this.FIOLBHFJENN.SetTrigger(this.BALGIKMCJHI); } } // Token: 0x06021BDE RID: 138206 RVA: 0x00939B74 File Offset: 0x00937D74 public Color NFBANLGAMFM() { return this.OIIOCDGKINB; } // Token: 0x06021BDF RID: 138207 RVA: 0x00939B7C File Offset: 0x00937D7C private float GFNBKENKEAB() { return this.LGGCDCAGILF; } // Token: 0x17000FD5 RID: 4053 // (get) Token: 0x06021BE0 RID: 138208 RVA: 0x00939B84 File Offset: 0x00937D84 // (set) Token: 0x06021BF3 RID: 138227 RVA: 0x00939F2C File Offset: 0x0093812C private protected Player GEMAHBBGFOE { protected get; private set; } // Token: 0x06021BE1 RID: 138209 RVA: 0x00939B8C File Offset: 0x00937D8C private void MDCNOIALLAF() { if (this.supportsDynamicColor) { Color color = this.dynamicColor; if (this.supportsAnimatedDynamicColorBlending) { color = Color.Lerp(this.dynamicColor, this.animatedDynamicColorBlendingTargetColor, this.animatedDynamicColorBlendingLerp); } if (this.supportsDynamicColorDistanceFading && SingletonMonoBehaviour.NCKMBFBMBFM != null) { float sqrMagnitude = (base.transform.position - SingletonMonoBehaviour.NCKMBFBMBFM.transform.position).sqrMagnitude; float num = Mathf.InverseLerp(this.minFadeDistanceFromCamera * this.minFadeDistanceFromCamera, this.maxFadeDistanceFromCamera * this.maxFadeDistanceFromCamera, sqrMagnitude); color.a = Mathf.SmoothStep(this.minFadeDistanceAlpha, this.maxFadeDistanceAlpha, num); } this.ANGFBLOOGAG(this.CEGHJDLBFBA, color); } } // Token: 0x06021BE2 RID: 138210 RVA: 0x00939C58 File Offset: 0x00937E58 public void LNFFHKADCJO(Action NOBAPCOKFIL) { Action action = this.DOFOEEDKAAF; Action action2; do { action2 = action; action = Interlocked.CompareExchange>(ref this.DOFOEEDKAAF, (Action)Delegate.Remove(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06021BE3 RID: 138211 RVA: 0x00939C90 File Offset: 0x00937E90 private void INHHLGEEJMA(Tool ENBMEDIFBLM, IHEAKAOGCIF CACIBBKDNIH) { if (this.ACIKEHPDJHB(ENBMEDIFBLM.gameObject) && this.OELFEIGJEHI != null) { this.OELFEIGJEHI(this, ENBMEDIFBLM, CACIBBKDNIH); } } // Token: 0x06021BE4 RID: 138212 RVA: 0x00939CBC File Offset: 0x00937EBC public MNNKGAIMCPN JLKLOEDDCDL() { return this.k__BackingField; } // Token: 0x1400016A RID: 362 // (add) Token: 0x06021BE5 RID: 138213 RVA: 0x00939CC4 File Offset: 0x00937EC4 // (remove) Token: 0x06021BF9 RID: 138233 RVA: 0x0093A0C8 File Offset: 0x009382C8 [field: DebuggerBrowsable(DebuggerBrowsableState.Never)] public event Bullet.NJIPDNBCKJD OELFEIGJEHI; // Token: 0x06021BE6 RID: 138214 RVA: 0x00939CFC File Offset: 0x00937EFC protected Player HIILPPBMPLD() { return this.k__BackingField; } // Token: 0x06021BE7 RID: 138215 RVA: 0x00939D04 File Offset: 0x00937F04 public void Fire(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 ONDBGEBPLHB, float AANFBKPMJEL, float FNNAAICLLFC, List FOKHKLBPNLH) { this.Fire(CIGPHKLAAOD, IJGPPOIJDKO, ONDBGEBPLHB, AANFBKPMJEL, FNNAAICLLFC, FOKHKLBPNLH, this.selfDestructTime); } // Token: 0x06021BE8 RID: 138216 RVA: 0x00939D1C File Offset: 0x00937F1C private void MJKLAMLNDDP() { Gizmos.color = Color.green; Gizmos.DrawWireSphere(this.MBDDHLGBLNJ, this.colliderRadius); Gizmos.color = Color.white; Gizmos.DrawWireSphere(this.KFAGGKKLIOF(), this.GHBIPKNAOFC); } // Token: 0x06021BE9 RID: 138217 RVA: 0x00939D54 File Offset: 0x00937F54 private void DBMDNDEHIKE(Tool ENBMEDIFBLM, IHEAKAOGCIF CACIBBKDNIH) { if (this.AGPJFDDDOIL(ENBMEDIFBLM.gameObject) && this.OELFEIGJEHI != null) { this.OELFEIGJEHI(this, ENBMEDIFBLM, CACIBBKDNIH); } } // Token: 0x06021BEA RID: 138218 RVA: 0x00939D80 File Offset: 0x00937F80 private void LCGGFLEGNPK(Enemy AKICADDPOIF, MHEBDODJGOA OMPOICMBDBP, IHEAKAOGCIF CACIBBKDNIH) { if (this.AGPJFDDDOIL(AKICADDPOIF.gameObject) && this.PAOJGBKGGDK != null) { this.PAOJGBKGGDK(this, AKICADDPOIF, OMPOICMBDBP, CACIBBKDNIH); } } // Token: 0x06021BEB RID: 138219 RVA: 0x00939DB0 File Offset: 0x00937FB0 protected void FELJCKINBKN() { if (this.DOFOEEDKAAF != null) { this.DOFOEEDKAAF(this); } } // Token: 0x06021BEC RID: 138220 RVA: 0x00939DCC File Offset: 0x00937FCC public void NFLMILBHONB(Bullet.GOJKIAGKJMO NOBAPCOKFIL) { Bullet.GOJKIAGKJMO gojkiagkjmo = this.OFMHAGBKEHG; Bullet.GOJKIAGKJMO gojkiagkjmo2; do { gojkiagkjmo2 = gojkiagkjmo; gojkiagkjmo = Interlocked.CompareExchange(ref this.OFMHAGBKEHG, (Bullet.GOJKIAGKJMO)Delegate.Combine(gojkiagkjmo2, NOBAPCOKFIL), gojkiagkjmo); } while (gojkiagkjmo != gojkiagkjmo2); } // Token: 0x06021BED RID: 138221 RVA: 0x00939E04 File Offset: 0x00938004 public void MJLCBCHAAHL(Action NOBAPCOKFIL) { Action action = this.DOFOEEDKAAF; Action action2; do { action2 = action; action = Interlocked.CompareExchange>(ref this.DOFOEEDKAAF, (Action)Delegate.Remove(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06021BEE RID: 138222 RVA: 0x00939E3C File Offset: 0x0093803C private void BDLEDGLGGEG(Player IPLDGGMENKL, Player.HDOICGIKKAO OJCFELLMIFA, IHEAKAOGCIF CACIBBKDNIH) { if (this.ACIKEHPDJHB(IPLDGGMENKL.gameObject) && this.NKLDFBAGLFJ != null) { this.NKLDFBAGLFJ(this, IPLDGGMENKL, OJCFELLMIFA, CACIBBKDNIH); } } // Token: 0x06021BEF RID: 138223 RVA: 0x00939E6C File Offset: 0x0093806C private Vector3 GKLIPJIHFFA() { return this.LNNHOFAOHOC; } // Token: 0x06021BF0 RID: 138224 RVA: 0x00939E74 File Offset: 0x00938074 public virtual void AIDBPGBIKDB(Vector3 CCDDDIIGHPC) { base.transform.position = CCDDDIIGHPC; base.enabled = true; this.GEMAHBBGFOE = null; this.FFLLFGJMKJI(null); this.MNNKGAIMCPN = null; if (this.POHCLHLAPKO != null) { AudioManager.StopLoopingSFX(this.POHCLHLAPKO); } if (base.gameObject.activeSelf) { this.EGKEJEPHANF(); base.StartCoroutine(this.IMFLGCCBHMC(CCDDDIIGHPC)); } else { this.AOHFBIBIODM(); } } // Token: 0x06021BF1 RID: 138225 RVA: 0x00939EF4 File Offset: 0x009380F4 private IEnumerator HAIFJLNOPMK(Vector3 CCDDDIIGHPC) { float num = this.FBKKIJOPELL; float num2 = 0f; if (this.supportsVisualStretching) { if (this.calculateStretchFinishTime) { num2 = this.FBKKIJOPELL / this.IGOFELJMFOF.magnitude; } else { num2 = this.explicitStretchFinishTime; } } float num3 = 0f; while (num3 < num2 || (this.ECCNKFBMMFE != null && this.ECCNKFBMMFE.EIAJODBNFHD)) { yield return null; num3 += Time.deltaTime; if (this.supportsVisualStretching) { float num4 = Mathf.InverseLerp(0f, num2, num3); this.FBKKIJOPELL = Mathf.Lerp(num, 0f, num4); } } this.EJKOCHKGAFI(); yield break; } // Token: 0x06021BF2 RID: 138226 RVA: 0x00939F10 File Offset: 0x00938110 private IEnumerator PJAKFJMFCLB(Vector3 CCDDDIIGHPC) { num = this.FBKKIJOPELL; num2 = 0f; if (this.supportsVisualStretching) { if (this.calculateStretchFinishTime) { num2 = this.FBKKIJOPELL / this.IGOFELJMFOF.magnitude; } else { num2 = this.explicitStretchFinishTime; } } num3 = 0f; while (num3 < num2 || (this.ECCNKFBMMFE != null && this.ECCNKFBMMFE.EIAJODBNFHD)) { yield return null; num3 += Time.deltaTime; if (this.supportsVisualStretching) { float num4 = Mathf.InverseLerp(0f, num2, num3); this.FBKKIJOPELL = Mathf.Lerp(num, 0f, num4); } } this.EJKOCHKGAFI(); yield break; } // Token: 0x06021BF4 RID: 138228 RVA: 0x00939F38 File Offset: 0x00938138 private void Update() { if (this.supportsDynamicColor) { Color color = this.dynamicColor; if (this.supportsAnimatedDynamicColorBlending) { color = Color.Lerp(this.dynamicColor, this.animatedDynamicColorBlendingTargetColor, this.animatedDynamicColorBlendingLerp); } if (this.supportsDynamicColorDistanceFading && SingletonMonoBehaviour.NCKMBFBMBFM != null) { float sqrMagnitude = (base.transform.position - SingletonMonoBehaviour.NCKMBFBMBFM.transform.position).sqrMagnitude; float num = Mathf.InverseLerp(this.minFadeDistanceFromCamera * this.minFadeDistanceFromCamera, this.maxFadeDistanceFromCamera * this.maxFadeDistanceFromCamera, sqrMagnitude); color.a = Mathf.SmoothStep(this.minFadeDistanceAlpha, this.maxFadeDistanceAlpha, num); } this.HEKGKNAMJGB(this.CEGHJDLBFBA, color); } } // Token: 0x06021BF5 RID: 138229 RVA: 0x0093A004 File Offset: 0x00938204 private void MOPKIJEPMNE() { if (base.gameObject.activeSelf) { } this.particles.emission.enabled = false; } // Token: 0x17000FD0 RID: 4048 // (get) Token: 0x06021C1F RID: 138271 RVA: 0x0093AE8C File Offset: 0x0093908C // (set) Token: 0x06021BF6 RID: 138230 RVA: 0x0093A038 File Offset: 0x00938238 protected float GHBIPKNAOFC { get; set; } // Token: 0x06021BF7 RID: 138231 RVA: 0x0093A044 File Offset: 0x00938244 protected void PKEAPKECLLA(float NOBAPCOKFIL) { this.k__BackingField = NOBAPCOKFIL; } // Token: 0x06021BF8 RID: 138232 RVA: 0x0093A050 File Offset: 0x00938250 private Vector3 OGBNHGKJOAB(Vector3 BEOLDGELJNG, int INLPJOENBAH) { float num = (float)INLPJOENBAH * Time.fixedDeltaTime; Vector3 vector = ((!this.KDJECFDNDAH()) ? Vector3.zero : (-Physics.gravity * this.gravityRatio)); Vector3 vector2 = -this.IGOFELJMFOF; Vector3 vector3 = vector2 * num + 1285f * vector * num * num; return BEOLDGELJNG + vector3; } // Token: 0x06021BFA RID: 138234 RVA: 0x0093A100 File Offset: 0x00938300 private void KGMFECHHCAH(Tool ENBMEDIFBLM, IHEAKAOGCIF CACIBBKDNIH) { if (this.POMJOEBMFAE(ENBMEDIFBLM.gameObject) && this.OELFEIGJEHI != null) { this.OELFEIGJEHI(this, ENBMEDIFBLM, CACIBBKDNIH); } } // Token: 0x06021BFB RID: 138235 RVA: 0x0093A12C File Offset: 0x0093832C private void CBCFLLIEMCF(IHEAKAOGCIF CACIBBKDNIH) { if (this.POMJOEBMFAE(CACIBBKDNIH.JFCOFBFGGFL) && this.OFMHAGBKEHG != null) { this.OFMHAGBKEHG(this, CACIBBKDNIH); } } // Token: 0x06021BFC RID: 138236 RVA: 0x0093A158 File Offset: 0x00938358 private void PLFDMAJOODI(Tool ENBMEDIFBLM, IHEAKAOGCIF CACIBBKDNIH) { if (this.AGPJFDDDOIL(ENBMEDIFBLM.gameObject) && this.OELFEIGJEHI != null) { this.OELFEIGJEHI(this, ENBMEDIFBLM, CACIBBKDNIH); } } // Token: 0x17000FD8 RID: 4056 // (get) Token: 0x06021C36 RID: 138294 RVA: 0x0093B328 File Offset: 0x00939528 // (set) Token: 0x06021BFD RID: 138237 RVA: 0x0093A184 File Offset: 0x00938384 private float FBKKIJOPELL { get { return this.LGGCDCAGILF; } set { this.LGGCDCAGILF = Mathf.Min(value, this.maxStretchDistance); if (this.stretchTransform != null) { Vector3 localScale = this.stretchTransform.localScale; localScale.z = this.LGGCDCAGILF; this.stretchTransform.localScale = localScale; } } } // Token: 0x06021BFE RID: 138238 RVA: 0x0093A1DC File Offset: 0x009383DC private bool IGOLJDFNJJC() { return !this.enableInstancedVisualRendering || (!(this.visualRenderer == null) && this.visualRenderer.sharedMaterials.Length <= 0 && this.visualRenderer.sharedMaterial.enableInstancing && !SystemInfo.supportsInstancing && false); } // Token: 0x06021BFF RID: 138239 RVA: 0x0093A240 File Offset: 0x00938440 public void DMJCDDNGAFE(Bullet.ANADCNDLFNN NOBAPCOKFIL) { Bullet.ANADCNDLFNN anadcndlfnn = this.BNLLAHFKFBB; Bullet.ANADCNDLFNN anadcndlfnn2; do { anadcndlfnn2 = anadcndlfnn; anadcndlfnn = Interlocked.CompareExchange(ref this.BNLLAHFKFBB, (Bullet.ANADCNDLFNN)Delegate.Remove(anadcndlfnn2, NOBAPCOKFIL), anadcndlfnn); } while (anadcndlfnn != anadcndlfnn2); } // Token: 0x06021C00 RID: 138240 RVA: 0x0093A278 File Offset: 0x00938478 private bool KPFOLAMPHHF() { return !this.enableInstancedVisualRendering || (!(this.visualRenderer == null) && this.visualRenderer.sharedMaterials.Length <= 1 && this.visualRenderer.sharedMaterial.enableInstancing && (SystemInfo.supportsInstancing || true)); } // Token: 0x06021C01 RID: 138241 RVA: 0x0093A2DC File Offset: 0x009384DC public void GJGLBPKANMF(MNNKGAIMCPN CNFNEDGMCEL) { if (this.MNNKGAIMCPN == null) { this.MNNKGAIMCPN = CNFNEDGMCEL; } else { global::UnityEngine.Debug.LogError("api/avatar/"); } } // Token: 0x06021C02 RID: 138242 RVA: 0x0093A300 File Offset: 0x00938500 public void OBDPBJANCHG(Bullet.NJIPDNBCKJD NOBAPCOKFIL) { Bullet.NJIPDNBCKJD njipdnbckjd = this.OELFEIGJEHI; Bullet.NJIPDNBCKJD njipdnbckjd2; do { njipdnbckjd2 = njipdnbckjd; njipdnbckjd = Interlocked.CompareExchange(ref this.OELFEIGJEHI, (Bullet.NJIPDNBCKJD)Delegate.Combine(njipdnbckjd2, NOBAPCOKFIL), njipdnbckjd); } while (njipdnbckjd != njipdnbckjd2); } // Token: 0x06021C03 RID: 138243 RVA: 0x0093A338 File Offset: 0x00938538 public void SetBulletGroup(MNNKGAIMCPN CNFNEDGMCEL) { if (this.MNNKGAIMCPN == null) { this.MNNKGAIMCPN = CNFNEDGMCEL; } else { global::UnityEngine.Debug.LogError("Cannot set the bullet group multiple times for the same bullet."); } } // Token: 0x06021C04 RID: 138244 RVA: 0x0093A35C File Offset: 0x0093855C public void IJBDENNNEJC(Bullet.JJANGLANMOO NOBAPCOKFIL) { Bullet.JJANGLANMOO jjanglanmoo = this.NKLDFBAGLFJ; Bullet.JJANGLANMOO jjanglanmoo2; do { jjanglanmoo2 = jjanglanmoo; jjanglanmoo = Interlocked.CompareExchange(ref this.NKLDFBAGLFJ, (Bullet.JJANGLANMOO)Delegate.Remove(jjanglanmoo2, NOBAPCOKFIL), jjanglanmoo); } while (jjanglanmoo != jjanglanmoo2); } // Token: 0x06021C05 RID: 138245 RVA: 0x0093A394 File Offset: 0x00938594 private void FFLLFGJMKJI(Enemy NOBAPCOKFIL) { this.k__BackingField = NOBAPCOKFIL; } // Token: 0x06021C06 RID: 138246 RVA: 0x0093A3A0 File Offset: 0x009385A0 public void BFEIHAGDJKM(Bullet.CNPNCBACBJB NOBAPCOKFIL) { Bullet.CNPNCBACBJB cnpncbacbjb = this.PAOJGBKGGDK; Bullet.CNPNCBACBJB cnpncbacbjb2; do { cnpncbacbjb2 = cnpncbacbjb; cnpncbacbjb = Interlocked.CompareExchange(ref this.PAOJGBKGGDK, (Bullet.CNPNCBACBJB)Delegate.Remove(cnpncbacbjb2, NOBAPCOKFIL), cnpncbacbjb); } while (cnpncbacbjb != cnpncbacbjb2); } // Token: 0x06021C07 RID: 138247 RVA: 0x0093A3D8 File Offset: 0x009385D8 private void AEJLPCIIIAM(IHEAKAOGCIF CACIBBKDNIH) { if (this.ACIKEHPDJHB(CACIBBKDNIH.JFCOFBFGGFL) && this.OFMHAGBKEHG != null) { this.OFMHAGBKEHG(this, CACIBBKDNIH); } } // Token: 0x1400016B RID: 363 // (add) Token: 0x06021C08 RID: 138248 RVA: 0x0093A404 File Offset: 0x00938604 // (remove) Token: 0x06021C5E RID: 138334 RVA: 0x0093C690 File Offset: 0x0093A890 [field: DebuggerBrowsable(DebuggerBrowsableState.Never)] public event Bullet.ANADCNDLFNN BNLLAHFKFBB; // Token: 0x06021C09 RID: 138249 RVA: 0x0093A43C File Offset: 0x0093863C protected float LGCJDHILMMJ() { return this.k__BackingField; } // Token: 0x17000FD2 RID: 4050 // (get) Token: 0x06021C3A RID: 138298 RVA: 0x0093B420 File Offset: 0x00939620 // (set) Token: 0x06021C0A RID: 138250 RVA: 0x0093A444 File Offset: 0x00938644 public MNNKGAIMCPN MNNKGAIMCPN { get; private set; } // Token: 0x1400016C RID: 364 // (add) Token: 0x06021C0B RID: 138251 RVA: 0x0093A450 File Offset: 0x00938650 // (remove) Token: 0x06021C22 RID: 138274 RVA: 0x0093AEAC File Offset: 0x009390AC [field: DebuggerBrowsable(DebuggerBrowsableState.Never)] public event Bullet.GOJKIAGKJMO OFMHAGBKEHG; // Token: 0x06021C0C RID: 138252 RVA: 0x0093A488 File Offset: 0x00938688 public virtual void LELIGMKAICM(Vector3 CCDDDIIGHPC) { base.transform.position = CCDDDIIGHPC; base.enabled = false; this.GEMAHBBGFOE = null; this.EDFMKHMPFAL = null; this.MNNKGAIMCPN = null; if (this.POHCLHLAPKO != null) { AudioManager.OIAFCNPLFPJ(this.POHCLHLAPKO); } if (base.gameObject.activeSelf) { this.LIBGEPHACPJ(); base.StartCoroutine(this.HAIFJLNOPMK(CCDDDIIGHPC)); } else { this.AOHFBIBIODM(); } } // Token: 0x06021C0D RID: 138253 RVA: 0x0093A508 File Offset: 0x00938708 public Color EACHLKNMOOF() { return this.OIIOCDGKINB; } // Token: 0x06021C0E RID: 138254 RVA: 0x0093A510 File Offset: 0x00938710 protected virtual void CKEMNFBLIGL() { float num = Time.fixedTime - this.NNDIBBPDKMI; if (num >= this.EANCBPMKLKN) { this.Release(base.transform.position); return; } Vector3 vector = this.MBDDHLGBLNJ; base.transform.position += this.IGOFELJMFOF * Time.fixedDeltaTime; base.transform.LookAt(base.transform.position + this.IGOFELJMFOF); if (this.KDJECFDNDAH()) { this.IGOFELJMFOF += Physics.gravity * Time.fixedDeltaTime * this.gravityRatio; } EFIABKCOFBE efiabkcofbe; bool flag = this.MFNHDDOPCPL.IKKHOOPNPKL(vector, this.KFAGGKKLIOF(), this.GLMLNBELIKO(), 161, this.FOKHKLBPNLH, out efiabkcofbe); if (!flag || this.EFBOEJJFNEG(efiabkcofbe)) { this.DKCAFCGPKEI(this.GKLIPJIHFFA() + this.IGOFELJMFOF * Time.fixedDeltaTime); return; } if (efiabkcofbe.ANLPOIMKHLH == 1179f && !this.DPHAFFCKCJN(vector, out efiabkcofbe)) { this.Release(base.transform.position); return; } this.ONDDGIJONJL = this.EOMOGKAJFIF() + (efiabkcofbe.LLKJDBBNPKB - vector); this.BPLBIBPBCAE(efiabkcofbe); } // Token: 0x06021C0F RID: 138255 RVA: 0x0093A67C File Offset: 0x0093887C public void MOKPLEMAEAK(Color NOBAPCOKFIL) { this.OIIOCDGKINB = NOBAPCOKFIL; if (this.supportsDynamicColor) { this.dynamicColor = this.OIIOCDGKINB; } else if (this.visualRenderer != null) { this.BPIOMHPHDCN(KJKLAHAJCJM.AHFNBKAMNBF, this.OIIOCDGKINB); } if (this.ECCNKFBMMFE != null) { this.ECCNKFBMMFE.GBLPHKFPELB = NOBAPCOKFIL; } if (this.particles != null) { this.particles.main.startColor = NOBAPCOKFIL; } } // Token: 0x06021C10 RID: 138256 RVA: 0x0093A718 File Offset: 0x00938918 private bool AGPJFDDDOIL(GameObject PBHKCNFFLNM) { if (this.MNNKGAIMCPN != null) { if (this.JLKLOEDDCDL().MLEMNNPOFKO(PBHKCNFFLNM) && this.JLKLOEDDCDL().CCBCCNPLICJ) { return true; } this.JLKLOEDDCDL().ECMKLLIKMOM(PBHKCNFFLNM); } return true; } // Token: 0x06021C11 RID: 138257 RVA: 0x0093A758 File Offset: 0x00938958 private Vector3 EOMOGKAJFIF() { return this.LNNHOFAOHOC; } // Token: 0x06021C12 RID: 138258 RVA: 0x0093A760 File Offset: 0x00938960 protected void EJKOCHKGAFI() { if (this.ECCNKFBMMFE != null) { this.ECCNKFBMMFE.enabled = false; } if (this.particles != null) { this.particles.Clear(); this.particles.emission.enabled = false; } if (this.supportsVisualStretching) { this.FBKKIJOPELL = 0f; } if (this.DONLKLOALMJ) { BulletInstanceRenderer.NCKMBFBMBFM.DisableInstancedRenderer(this.MDGKHJAMPLG); } ObjectPool.NCKMBFBMBFM.Release(this); } // Token: 0x06021C13 RID: 138259 RVA: 0x0093A7F8 File Offset: 0x009389F8 protected void EGKEJEPHANF() { if (this.DOFOEEDKAAF != null) { this.DOFOEEDKAAF(this); } } // Token: 0x06021C14 RID: 138260 RVA: 0x0093A814 File Offset: 0x00938A14 protected Enemy EHFIKKNCCMD() { return this.k__BackingField; } // Token: 0x06021C15 RID: 138261 RVA: 0x0093A81C File Offset: 0x00938A1C protected void LIBGEPHACPJ() { if (this.DOFOEEDKAAF != null) { this.DOFOEEDKAAF(this); } } // Token: 0x06021C16 RID: 138262 RVA: 0x0093A838 File Offset: 0x00938A38 private void BPIOMHPHDCN(int BICBDINPJNI, Color HNOPCLEFEIG) { if (this.DONLKLOALMJ) { this.MDGKHJAMPLG.GBLPHKFPELB = HNOPCLEFEIG; } else if (this.visualRenderer != null) { if (this.MAHDCECFMKN == null) { this.MAHDCECFMKN = new MaterialPropertyBlock(); } this.MAHDCECFMKN.SetColor(BICBDINPJNI, HNOPCLEFEIG); this.visualRenderer.SetPropertyBlock(this.MAHDCECFMKN); } } // Token: 0x06021C17 RID: 138263 RVA: 0x0093A8A8 File Offset: 0x00938AA8 private void JLHFLIBBAHL(Player NOBAPCOKFIL) { this.k__BackingField = NOBAPCOKFIL; } // Token: 0x06021C18 RID: 138264 RVA: 0x0093A8B4 File Offset: 0x00938AB4 private bool DPHAFFCKCJN(Vector3 JCAMIMICGAH, out EFIABKCOFBE FMHCOGJJNFO) { Vector3 vector = this.OGBNHGKJOAB(JCAMIMICGAH, 5); bool flag = this.MFNHDDOPCPL.JDPFEKENCDK(vector, JCAMIMICGAH, this.GLMLNBELIKO(), -73, this.FOKHKLBPNLH, out FMHCOGJJNFO); return flag && FMHCOGJJNFO.ANLPOIMKHLH != 96f; } // Token: 0x17000FD1 RID: 4049 // (get) Token: 0x06021C3C RID: 138300 RVA: 0x0093B460 File Offset: 0x00939660 // (set) Token: 0x06021C19 RID: 138265 RVA: 0x0093A904 File Offset: 0x00938B04 protected float DJJJAGCAPPO { get; set; } // Token: 0x06021C1A RID: 138266 RVA: 0x0093A910 File Offset: 0x00938B10 protected virtual void KNHBBMJNNKL(EFIABKCOFBE MCFPEMCAKLN) { this.MACHGLDJBMP = MCFPEMCAKLN.MFBIFHCHNND.gameObject; MHEBDODJGOA mhebdodjgoa = MHEBDODJGOA.NORMAL; Trap trap = null; Tool tool = null; Vector3 vector = this.IGOFELJMFOF.normalized * this.DJJJAGCAPPO; float num = Time.fixedTime - this.NNDIBBPDKMI; Vector3 vector2 = ((!this.applyGravity) ? Vector3.zero : (this.gravityRatio * Physics.gravity)); float magnitude = (this.IGOFELJMFOF * num + 0.5f * vector2 * num * num).magnitude; IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF { JIIJIFKCMFK = this.IGOFELJMFOF, PMEFMHLCPMF = vector, JFCOFBFGGFL = this.MACHGLDJBMP, LLKJDBBNPKB = MCFPEMCAKLN.LLKJDBBNPKB, ANLPOIMKHLH = magnitude, EPIJGDAJDJN = MCFPEMCAKLN.DMJBLODKPPJ, CEGCFPKHDOE = this.FNNAAICLLFC }; Player.HDOICGIKKAO hdoicgikkao; Player player = MCFPEMCAKLN.MFBIFHCHNND.KAPJACICAEC(out hdoicgikkao); this.GEMAHBBGFOE = player; Bullet.KOFBFKPGGJE kofbfkpggje; if (player != null) { kofbfkpggje = Bullet.KOFBFKPGGJE.Player; } else { Enemy enemy = MCFPEMCAKLN.MFBIFHCHNND.AICMDAMIEBP(out mhebdodjgoa); this.EDFMKHMPFAL = enemy; if (enemy != null) { kofbfkpggje = Bullet.KOFBFKPGGJE.Enemy; } else if ((tool = MCFPEMCAKLN.MFBIFHCHNND.OBFMDIEKHAN()) != null) { kofbfkpggje = Bullet.KOFBFKPGGJE.Tool; if (tool.GetComponent() != null) { return; } } else if ((trap = MCFPEMCAKLN.MFBIFHCHNND.JFFLOIPFGPE()) != null) { kofbfkpggje = Bullet.KOFBFKPGGJE.Trap; } else if (Vector3.Angle(Vector3.up, MCFPEMCAKLN.DMJBLODKPPJ) < this.minWallSlopeDegrees) { kofbfkpggje = Bullet.KOFBFKPGGJE.Floor; } else if (Vector3.Angle(Vector3.down, MCFPEMCAKLN.DMJBLODKPPJ) < this.minWallSlopeDegrees) { kofbfkpggje = Bullet.KOFBFKPGGJE.Ceiling; } else { kofbfkpggje = Bullet.KOFBFKPGGJE.Wall; } } if (this.reflectSurfaces.KFLBKDPEHEN(kofbfkpggje) && this.OLGFHGAEILI < this.maxReflections) { this.OLGFHGAEILI++; float num2 = this.IGOFELJMFOF.magnitude * this.restitution; Vector3 normalized = this.IGOFELJMFOF.normalized; Vector3 vector3 = Vector3.Reflect(normalized, iheakaogcif.EPIJGDAJDJN); base.transform.position = iheakaogcif.LLKJDBBNPKB + iheakaogcif.EPIJGDAJDJN * 1.1f * this.GHBIPKNAOFC; this.IGOFELJMFOF = vector3 * num2; } else { switch (kofbfkpggje) { case Bullet.KOFBFKPGGJE.Player: this.KEPABDJPHJD(this.GEMAHBBGFOE, hdoicgikkao, iheakaogcif); break; case Bullet.KOFBFKPGGJE.Enemy: this.LBOONNMGDKF(this.EDFMKHMPFAL, mhebdodjgoa, iheakaogcif); break; case Bullet.KOFBFKPGGJE.Tool: this.KGMFECHHCAH(tool, iheakaogcif); break; case Bullet.KOFBFKPGGJE.Trap: this.LOAHGINEINJ(trap, iheakaogcif); break; default: this.CBCFLLIEMCF(iheakaogcif); break; } if (this.MACHGLDJBMP.OPJBDKJDLFF(this.destroyOnLayers)) { Vector3 vector4 = MCFPEMCAKLN.LLKJDBBNPKB; if (this.visualRenderer != null) { vector4 -= this.IGOFELJMFOF.normalized * this.GHBIPKNAOFC; } this.Release(vector4); } } } // Token: 0x06021C1B RID: 138267 RVA: 0x0093AC80 File Offset: 0x00938E80 private Vector3 BCNMMMOKFHK() { return this.LNNHOFAOHOC; } // Token: 0x06021C1C RID: 138268 RVA: 0x0093AC88 File Offset: 0x00938E88 private bool JBCAEDBBAHJ() { return this.enableInstancedVisualRendering && !(this.visualRenderer == null) && this.visualRenderer.sharedMaterials.Length <= 1 && this.visualRenderer.sharedMaterial.enableInstancing && SystemInfo.supportsInstancing; } // Token: 0x06021C1D RID: 138269 RVA: 0x0093ACEC File Offset: 0x00938EEC public void OGFFKGFEDOJ(MNNKGAIMCPN CNFNEDGMCEL) { if (this.JLKLOEDDCDL() == null) { this.LIPMFJICFNL(CNFNEDGMCEL); } else { global::UnityEngine.Debug.LogError("RpcImageUpdated"); } } // Token: 0x06021C1E RID: 138270 RVA: 0x0093AD10 File Offset: 0x00938F10 public virtual void IDFKHOAJIJB(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 ONDBGEBPLHB, float AANFBKPMJEL, float FNNAAICLLFC, List FOKHKLBPNLH, float DPCGOOIPLBM) { if (this.DONLKLOALMJ) { BulletInstanceRenderer.NFHMLKPHCFF().DJPJOPOLGLM(this.MDGKHJAMPLG); } base.enabled = false; this.PKEAPKECLLA(this.colliderRadius); this.DJJJAGCAPPO = AANFBKPMJEL; this.EANCBPMKLKN = DPCGOOIPLBM; this.FNNAAICLLFC = FNNAAICLLFC; base.transform.position = CIGPHKLAAOD; base.transform.rotation = IJGPPOIJDKO; this.IGOFELJMFOF = ONDBGEBPLHB; this.DKCAFCGPKEI(Vector3.zero); this.FOKHKLBPNLH = FOKHKLBPNLH; this.NNDIBBPDKMI = Time.fixedTime; this.OLGFHGAEILI = 0; if (this.ECCNKFBMMFE != null) { this.ECCNKFBMMFE.enabled = true; } if (this.particles != null) { this.HFOKJHNLLPC(new Action(this.MOPKIJEPMNE)); } if (this.audioLoop != null && this.audioLoop.audioClip != null) { this.POHCLHLAPKO = AudioManager.StartLooping3DSFX(this.audioLoop, base.transform, null); } if (this.CDAABBEPMIC != null && this.CGAIEFABDKF != null) { string text = this.CGAIEFABDKF.PIGFGBCLFJN(this.BALGIKMCJHI); this.CDAABBEPMIC.Play(text); } else if (this.FIOLBHFJENN != null) { this.FIOLBHFJENN.SetTrigger(this.BALGIKMCJHI); } } // Token: 0x06021C20 RID: 138272 RVA: 0x0093AE94 File Offset: 0x00939094 protected void JPENMEOFAGM(float NOBAPCOKFIL) { this.k__BackingField = NOBAPCOKFIL; } // Token: 0x06021C21 RID: 138273 RVA: 0x0093AEA0 File Offset: 0x009390A0 protected void LNNAGANDHMB(float NOBAPCOKFIL) { this.k__BackingField = NOBAPCOKFIL; } // Token: 0x06021C23 RID: 138275 RVA: 0x0093AEE4 File Offset: 0x009390E4 public virtual void BHFCGGJLKFB(Vector3 CCDDDIIGHPC) { base.transform.position = CCDDDIIGHPC; base.enabled = true; this.GEMAHBBGFOE = null; this.FFLLFGJMKJI(null); this.LIPMFJICFNL(null); if (this.POHCLHLAPKO != null) { AudioManager.OIAFCNPLFPJ(this.POHCLHLAPKO); } if (base.gameObject.activeSelf) { this.FELJCKINBKN(); base.StartCoroutine(this.PJAKFJMFCLB(CCDDDIIGHPC)); } else { this.AOHFBIBIODM(); } } // Token: 0x06021C24 RID: 138276 RVA: 0x0093AF64 File Offset: 0x00939164 private bool HJLDMJFEIFK(Vector3 JCAMIMICGAH, out EFIABKCOFBE FMHCOGJJNFO) { Vector3 vector = this.PABLKMDOCOP(JCAMIMICGAH, 3); bool flag = this.MFNHDDOPCPL.GIMHKJHJOGA(vector, JCAMIMICGAH, this.GLMLNBELIKO(), -10, this.FOKHKLBPNLH, out FMHCOGJJNFO); return flag && FMHCOGJJNFO.ANLPOIMKHLH != 619f; } // Token: 0x06021C25 RID: 138277 RVA: 0x0093AFB4 File Offset: 0x009391B4 public void NCAKCCPHNMN(Bullet.CNPNCBACBJB NOBAPCOKFIL) { Bullet.CNPNCBACBJB cnpncbacbjb = this.PAOJGBKGGDK; Bullet.CNPNCBACBJB cnpncbacbjb2; do { cnpncbacbjb2 = cnpncbacbjb; cnpncbacbjb = Interlocked.CompareExchange(ref this.PAOJGBKGGDK, (Bullet.CNPNCBACBJB)Delegate.Remove(cnpncbacbjb2, NOBAPCOKFIL), cnpncbacbjb); } while (cnpncbacbjb != cnpncbacbjb2); } // Token: 0x06021C26 RID: 138278 RVA: 0x0093AFEC File Offset: 0x009391EC private void PFKKEIOJCHM(IHEAKAOGCIF CACIBBKDNIH) { if (this.POMJOEBMFAE(CACIBBKDNIH.JFCOFBFGGFL) && this.OFMHAGBKEHG != null) { this.OFMHAGBKEHG(this, CACIBBKDNIH); } } // Token: 0x06021C27 RID: 138279 RVA: 0x0093B018 File Offset: 0x00939218 protected Player KFPJCHCOICH() { return this.k__BackingField; } // Token: 0x06021C28 RID: 138280 RVA: 0x0093B020 File Offset: 0x00939220 public void LHHLNPOOGHA(Bullet.ANADCNDLFNN NOBAPCOKFIL) { Bullet.ANADCNDLFNN anadcndlfnn = this.BNLLAHFKFBB; Bullet.ANADCNDLFNN anadcndlfnn2; do { anadcndlfnn2 = anadcndlfnn; anadcndlfnn = Interlocked.CompareExchange(ref this.BNLLAHFKFBB, (Bullet.ANADCNDLFNN)Delegate.Remove(anadcndlfnn2, NOBAPCOKFIL), anadcndlfnn); } while (anadcndlfnn != anadcndlfnn2); } // Token: 0x06021C29 RID: 138281 RVA: 0x0093B058 File Offset: 0x00939258 protected virtual Vector3 KFAGGKKLIOF() { return base.transform.position; } // Token: 0x06021C2A RID: 138282 RVA: 0x0093B068 File Offset: 0x00939268 public void GHMBEJOFGFK(Bullet.CNPNCBACBJB NOBAPCOKFIL) { Bullet.CNPNCBACBJB cnpncbacbjb = this.PAOJGBKGGDK; Bullet.CNPNCBACBJB cnpncbacbjb2; do { cnpncbacbjb2 = cnpncbacbjb; cnpncbacbjb = Interlocked.CompareExchange(ref this.PAOJGBKGGDK, (Bullet.CNPNCBACBJB)Delegate.Combine(cnpncbacbjb2, NOBAPCOKFIL), cnpncbacbjb); } while (cnpncbacbjb != cnpncbacbjb2); } // Token: 0x06021C2B RID: 138283 RVA: 0x0093B0A0 File Offset: 0x009392A0 private IEnumerator IMFLGCCBHMC(Vector3 CCDDDIIGHPC) { num = this.FBKKIJOPELL; num2 = 0f; if (this.supportsVisualStretching) { if (this.calculateStretchFinishTime) { num2 = this.FBKKIJOPELL / this.IGOFELJMFOF.magnitude; } else { num2 = this.explicitStretchFinishTime; } } num3 = 0f; while (num3 < num2 || (this.ECCNKFBMMFE != null && this.ECCNKFBMMFE.EIAJODBNFHD)) { yield return null; num3 += Time.deltaTime; if (this.supportsVisualStretching) { float num4 = Mathf.InverseLerp(0f, num2, num3); this.FBKKIJOPELL = Mathf.Lerp(num, 0f, num4); } } this.EJKOCHKGAFI(); yield break; } // Token: 0x06021C2C RID: 138284 RVA: 0x0093B0BC File Offset: 0x009392BC private bool ACIKEHPDJHB(GameObject PBHKCNFFLNM) { if (this.MNNKGAIMCPN != null) { if (this.MNNKGAIMCPN.MLEMNNPOFKO(PBHKCNFFLNM) && this.MNNKGAIMCPN.CCBCCNPLICJ) { return false; } this.JLKLOEDDCDL().FHJPMFNEMFL(PBHKCNFFLNM); } return false; } // Token: 0x06021C2D RID: 138285 RVA: 0x0093B0FC File Offset: 0x009392FC public void ABAIGIAOOGK(Bullet.JJANGLANMOO NOBAPCOKFIL) { Bullet.JJANGLANMOO jjanglanmoo = this.NKLDFBAGLFJ; Bullet.JJANGLANMOO jjanglanmoo2; do { jjanglanmoo2 = jjanglanmoo; jjanglanmoo = Interlocked.CompareExchange(ref this.NKLDFBAGLFJ, (Bullet.JJANGLANMOO)Delegate.Remove(jjanglanmoo2, NOBAPCOKFIL), jjanglanmoo); } while (jjanglanmoo != jjanglanmoo2); } // Token: 0x06021C2E RID: 138286 RVA: 0x0093B134 File Offset: 0x00939334 private bool JGFLJNCHGMK() { return !this.enableInstancedVisualRendering || (this.visualRenderer == null || this.visualRenderer.sharedMaterials.Length > 1 || !this.visualRenderer.sharedMaterial.enableInstancing) || (!SystemInfo.supportsInstancing && false); } // Token: 0x17000FD6 RID: 4054 // (get) Token: 0x06021C2F RID: 138287 RVA: 0x0093B198 File Offset: 0x00939398 protected virtual Vector3 MBDDHLGBLNJ { get { return base.transform.position; } } // Token: 0x06021C30 RID: 138288 RVA: 0x0093B1A8 File Offset: 0x009393A8 public void AMMPDKICIFG(Bullet.GOJKIAGKJMO NOBAPCOKFIL) { Bullet.GOJKIAGKJMO gojkiagkjmo = this.OFMHAGBKEHG; Bullet.GOJKIAGKJMO gojkiagkjmo2; do { gojkiagkjmo2 = gojkiagkjmo; gojkiagkjmo = Interlocked.CompareExchange(ref this.OFMHAGBKEHG, (Bullet.GOJKIAGKJMO)Delegate.Remove(gojkiagkjmo2, NOBAPCOKFIL), gojkiagkjmo); } while (gojkiagkjmo != gojkiagkjmo2); } // Token: 0x17000FCF RID: 4047 // (get) Token: 0x06021C49 RID: 138313 RVA: 0x0093C078 File Offset: 0x0093A278 // (set) Token: 0x06021C31 RID: 138289 RVA: 0x0093B1E0 File Offset: 0x009393E0 private Vector3 ONDDGIJONJL { get { return this.LNNHOFAOHOC; } set { this.LNNHOFAOHOC = value; if (this.supportsVisualStretching) { this.FBKKIJOPELL = this.ONDDGIJONJL.magnitude; } } } // Token: 0x14000167 RID: 359 // (add) Token: 0x06021C32 RID: 138290 RVA: 0x0093B214 File Offset: 0x00939414 // (remove) Token: 0x06021C3B RID: 138299 RVA: 0x0093B428 File Offset: 0x00939628 [field: DebuggerBrowsable(DebuggerBrowsableState.Never)] public event Action DOFOEEDKAAF; // Token: 0x06021C33 RID: 138291 RVA: 0x0093B24C File Offset: 0x0093944C public virtual void Release(Vector3 CCDDDIIGHPC) { base.transform.position = CCDDDIIGHPC; base.enabled = false; this.GEMAHBBGFOE = null; this.EDFMKHMPFAL = null; this.MNNKGAIMCPN = null; if (this.POHCLHLAPKO != null) { AudioManager.StopLoopingSFX(this.POHCLHLAPKO); } if (base.gameObject.activeSelf) { this.FELJCKINBKN(); base.StartCoroutine(this.PJAKFJMFCLB(CCDDDIIGHPC)); } else { this.EJKOCHKGAFI(); } } // Token: 0x06021C34 RID: 138292 RVA: 0x0093B2CC File Offset: 0x009394CC protected void JCLFAJLGHHO(float NOBAPCOKFIL) { this.k__BackingField = NOBAPCOKFIL; } // Token: 0x06021C35 RID: 138293 RVA: 0x0093B2D8 File Offset: 0x009394D8 private bool DFEMEPPECMN(Vector3 JCAMIMICGAH, out EFIABKCOFBE FMHCOGJJNFO) { Vector3 vector = this.OGBNHGKJOAB(JCAMIMICGAH, 6); bool flag = this.MFNHDDOPCPL.OAMOPMFJBPK(vector, JCAMIMICGAH, this.GHBIPKNAOFC, 199, this.FOKHKLBPNLH, out FMHCOGJJNFO); return !flag || FMHCOGJJNFO.ANLPOIMKHLH != 760f; } // Token: 0x17000FD3 RID: 4051 // (get) Token: 0x06021C56 RID: 138326 RVA: 0x0093C548 File Offset: 0x0093A748 // (set) Token: 0x06021C37 RID: 138295 RVA: 0x0093B330 File Offset: 0x00939530 public Color GBLPHKFPELB { get { return this.OIIOCDGKINB; } set { this.OIIOCDGKINB = value; if (this.supportsDynamicColor) { this.dynamicColor = this.OIIOCDGKINB; } else if (this.visualRenderer != null) { this.HEKGKNAMJGB(KJKLAHAJCJM.AHFNBKAMNBF, this.OIIOCDGKINB); } if (this.ECCNKFBMMFE != null) { this.ECCNKFBMMFE.GBLPHKFPELB = value; } if (this.particles != null) { this.particles.main.startColor = value; } } } // Token: 0x06021C38 RID: 138296 RVA: 0x0093B3CC File Offset: 0x009395CC private void IBPMHMIEGOI(Tool ENBMEDIFBLM, IHEAKAOGCIF CACIBBKDNIH) { if (this.AGPJFDDDOIL(ENBMEDIFBLM.gameObject) && this.OELFEIGJEHI != null) { this.OELFEIGJEHI(this, ENBMEDIFBLM, CACIBBKDNIH); } } // Token: 0x06021C39 RID: 138297 RVA: 0x0093B3F8 File Offset: 0x009395F8 protected bool KDJECFDNDAH() { return this.applyGravity || !this.supportsGravityAfterReflection || this.OLGFHGAEILI > 0; } // Token: 0x06021C3D RID: 138301 RVA: 0x0093B468 File Offset: 0x00939668 protected void NKGBBHFDBOO() { if (this.ECCNKFBMMFE != null) { this.ECCNKFBMMFE.enabled = false; } if (this.particles != null) { this.particles.Clear(); this.particles.emission.enabled = true; } if (this.supportsVisualStretching) { this.FBKKIJOPELL = 1644f; } if (this.DONLKLOALMJ) { BulletInstanceRenderer.NFHMLKPHCFF().CJFDBMIMLEO(this.MDGKHJAMPLG); } ObjectPool.NFHMLKPHCFF().Release(this); } // Token: 0x06021C3E RID: 138302 RVA: 0x0093B500 File Offset: 0x00939700 protected virtual void BPLBIBPBCAE(EFIABKCOFBE MCFPEMCAKLN) { this.MACHGLDJBMP = MCFPEMCAKLN.MFBIFHCHNND.gameObject; MHEBDODJGOA mhebdodjgoa = MHEBDODJGOA.NORMAL; Trap trap = null; Tool tool = null; Vector3 vector = this.IGOFELJMFOF.normalized * this.DJJJAGCAPPO; float num = Time.fixedTime - this.NNDIBBPDKMI; Vector3 vector2 = ((!this.applyGravity) ? Vector3.zero : (this.gravityRatio * Physics.gravity)); float magnitude = (this.IGOFELJMFOF * num + 1820f * vector2 * num * num).magnitude; IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF { JIIJIFKCMFK = this.IGOFELJMFOF, PMEFMHLCPMF = vector, JFCOFBFGGFL = this.MACHGLDJBMP, LLKJDBBNPKB = MCFPEMCAKLN.LLKJDBBNPKB, ANLPOIMKHLH = magnitude, EPIJGDAJDJN = MCFPEMCAKLN.DMJBLODKPPJ, CEGCFPKHDOE = this.FNNAAICLLFC }; Player.HDOICGIKKAO hdoicgikkao; Player player = MCFPEMCAKLN.MFBIFHCHNND.KAPJACICAEC(out hdoicgikkao); this.JLHFLIBBAHL(player); Bullet.KOFBFKPGGJE kofbfkpggje; if (player != null) { kofbfkpggje = Bullet.KOFBFKPGGJE.Enemy; } else { Enemy enemy = MCFPEMCAKLN.MFBIFHCHNND.AICMDAMIEBP(out mhebdodjgoa); this.FFLLFGJMKJI(enemy); if (enemy != null) { kofbfkpggje = Bullet.KOFBFKPGGJE.Player; } else if ((tool = MCFPEMCAKLN.MFBIFHCHNND.OBFMDIEKHAN()) != null) { kofbfkpggje = Bullet.KOFBFKPGGJE.Enemy; if (tool.GetComponent() != null) { return; } } else if ((trap = MCFPEMCAKLN.MFBIFHCHNND.JFFLOIPFGPE()) != null) { kofbfkpggje = Bullet.KOFBFKPGGJE.Wall; } else if (Vector3.Angle(Vector3.up, MCFPEMCAKLN.DMJBLODKPPJ) < this.minWallSlopeDegrees) { kofbfkpggje = Bullet.KOFBFKPGGJE.Tool; } else if (Vector3.Angle(Vector3.down, MCFPEMCAKLN.DMJBLODKPPJ) < this.minWallSlopeDegrees) { kofbfkpggje = Bullet.KOFBFKPGGJE.Floor; } else { kofbfkpggje = (Bullet.KOFBFKPGGJE)8; } } if (this.reflectSurfaces.KFLBKDPEHEN(kofbfkpggje) && this.OLGFHGAEILI < this.maxReflections) { this.OLGFHGAEILI += 0; float num2 = this.IGOFELJMFOF.magnitude * this.restitution; Vector3 normalized = this.IGOFELJMFOF.normalized; Vector3 vector3 = Vector3.Reflect(normalized, iheakaogcif.EPIJGDAJDJN); base.transform.position = iheakaogcif.LLKJDBBNPKB + iheakaogcif.EPIJGDAJDJN * 1112f * this.GHBIPKNAOFC; this.IGOFELJMFOF = vector3 * num2; } else { switch (kofbfkpggje) { case Bullet.KOFBFKPGGJE.Player: this.KEPABDJPHJD(this.GEMAHBBGFOE, hdoicgikkao, iheakaogcif); break; case Bullet.KOFBFKPGGJE.Enemy: this.IEOHDNFJLDN(this.EDFMKHMPFAL, mhebdodjgoa, iheakaogcif); break; case Bullet.KOFBFKPGGJE.Tool: this.IBPMHMIEGOI(tool, iheakaogcif); break; case Bullet.KOFBFKPGGJE.Trap: this.LOAHGINEINJ(trap, iheakaogcif); break; default: this.PFKKEIOJCHM(iheakaogcif); break; } if (this.MACHGLDJBMP.OPJBDKJDLFF(this.destroyOnLayers)) { Vector3 vector4 = MCFPEMCAKLN.LLKJDBBNPKB; if (this.visualRenderer != null) { vector4 -= this.IGOFELJMFOF.normalized * this.GLMLNBELIKO(); } this.Release(vector4); } } } // Token: 0x06021C40 RID: 138304 RVA: 0x0093B8A8 File Offset: 0x00939AA8 protected Player GEMKADJGMFA() { return this.k__BackingField; } // Token: 0x06021C41 RID: 138305 RVA: 0x0093B8B0 File Offset: 0x00939AB0 private void LBOONNMGDKF(Enemy AKICADDPOIF, MHEBDODJGOA OMPOICMBDBP, IHEAKAOGCIF CACIBBKDNIH) { if (this.POMJOEBMFAE(AKICADDPOIF.gameObject) && this.PAOJGBKGGDK != null) { this.PAOJGBKGGDK(this, AKICADDPOIF, OMPOICMBDBP, CACIBBKDNIH); } } // Token: 0x06021C44 RID: 138308 RVA: 0x0093B9DC File Offset: 0x00939BDC protected virtual void Awake() { base.enabled = false; this.FIOLBHFJENN = base.GetComponentInChildren(true); this.CDAABBEPMIC = base.GetComponentInChildren(true); this.CGAIEFABDKF = base.GetComponentInChildren(true); this.ECCNKFBMMFE = base.GetComponentInChildren(); if (this.ECCNKFBMMFE != null) { this.ECCNKFBMMFE.enabled = false; } if (this.supportsDynamicColor) { this.CEGHJDLBFBA = Shader.PropertyToID(this.dynamicColorShaderPropertyName); if (this.visualRenderer != null) { this.dynamicColor = this.visualRenderer.sharedMaterial.GetColor(this.CEGHJDLBFBA); } } this.DONLKLOALMJ = this.JBCAEDBBAHJ(); if (this.DONLKLOALMJ) { if (this.supportsDynamicColor) { JBJBFGDKMHK jbjbfgdkmhk = new JBJBFGDKMHK { EEAOGJHMFII = FMIJCJNICNL.COLOR, DKIKEOBCADA = this.CEGHJDLBFBA }; this.MDGKHJAMPLG = BulletInstanceRenderer.NCKMBFBMBFM.Register(this.visualRenderer, new JBJBFGDKMHK[] { jbjbfgdkmhk }); } else { this.MDGKHJAMPLG = BulletInstanceRenderer.NCKMBFBMBFM.Register(this.visualRenderer, new JBJBFGDKMHK[0]); } if (this.MDGKHJAMPLG == null) { this.DONLKLOALMJ = false; } } } // Token: 0x06021C45 RID: 138309 RVA: 0x0093BB28 File Offset: 0x00939D28 protected virtual void FixedUpdate() { float num = Time.fixedTime - this.NNDIBBPDKMI; if (num >= this.EANCBPMKLKN) { this.Release(base.transform.position); return; } Vector3 vector = this.MBDDHLGBLNJ; base.transform.position += this.IGOFELJMFOF * Time.fixedDeltaTime; base.transform.LookAt(base.transform.position + this.IGOFELJMFOF); if (this.AHOPIMGHDBO) { this.IGOFELJMFOF += Physics.gravity * Time.fixedDeltaTime * this.gravityRatio; } EFIABKCOFBE efiabkcofbe; bool flag = this.MFNHDDOPCPL.IKKHOOPNPKL(vector, this.MBDDHLGBLNJ, this.GHBIPKNAOFC, 496385536, this.FOKHKLBPNLH, out efiabkcofbe); if (!flag || this.EFBOEJJFNEG(efiabkcofbe)) { this.ONDDGIJONJL += this.IGOFELJMFOF * Time.fixedDeltaTime; return; } if (efiabkcofbe.ANLPOIMKHLH == 0f && !this.NMFCNDOMPEC(vector, out efiabkcofbe)) { this.Release(base.transform.position); return; } this.ONDDGIJONJL += efiabkcofbe.LLKJDBBNPKB - vector; this.KNHBBMJNNKL(efiabkcofbe); } // Token: 0x06021C46 RID: 138310 RVA: 0x0093BC94 File Offset: 0x00939E94 protected virtual void IECDJLHCNFF(EFIABKCOFBE MCFPEMCAKLN) { this.MACHGLDJBMP = MCFPEMCAKLN.MFBIFHCHNND.gameObject; MHEBDODJGOA mhebdodjgoa = MHEBDODJGOA.SHIELD; Trap trap = null; Tool tool = null; Vector3 vector = this.IGOFELJMFOF.normalized * this.DJJJAGCAPPO; float num = Time.fixedTime - this.NNDIBBPDKMI; Vector3 vector2 = ((!this.applyGravity) ? Vector3.zero : (this.gravityRatio * Physics.gravity)); float magnitude = (this.IGOFELJMFOF * num + 13f * vector2 * num * num).magnitude; IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF { JIIJIFKCMFK = this.IGOFELJMFOF, PMEFMHLCPMF = vector, JFCOFBFGGFL = this.MACHGLDJBMP, LLKJDBBNPKB = MCFPEMCAKLN.LLKJDBBNPKB, ANLPOIMKHLH = magnitude, EPIJGDAJDJN = MCFPEMCAKLN.DMJBLODKPPJ, CEGCFPKHDOE = this.FNNAAICLLFC }; Player.HDOICGIKKAO hdoicgikkao; Player player = MCFPEMCAKLN.MFBIFHCHNND.KAPJACICAEC(out hdoicgikkao); this.JLHFLIBBAHL(player); Bullet.KOFBFKPGGJE kofbfkpggje; if (player != null) { kofbfkpggje = Bullet.KOFBFKPGGJE.Player; } else { Enemy enemy = MCFPEMCAKLN.MFBIFHCHNND.AICMDAMIEBP(out mhebdodjgoa); this.COLAHGJNDEE(enemy); if (enemy != null) { kofbfkpggje = Bullet.KOFBFKPGGJE.Player; } else if ((tool = MCFPEMCAKLN.MFBIFHCHNND.OBFMDIEKHAN()) != null) { kofbfkpggje = Bullet.KOFBFKPGGJE.Ceiling; if (tool.GetComponent() != null) { return; } } else if ((trap = MCFPEMCAKLN.MFBIFHCHNND.JFFLOIPFGPE()) != null) { kofbfkpggje = (Bullet.KOFBFKPGGJE)7; } else if (Vector3.Angle(Vector3.up, MCFPEMCAKLN.DMJBLODKPPJ) < this.minWallSlopeDegrees) { kofbfkpggje = Bullet.KOFBFKPGGJE.Player; } else if (Vector3.Angle(Vector3.down, MCFPEMCAKLN.DMJBLODKPPJ) < this.minWallSlopeDegrees) { kofbfkpggje = Bullet.KOFBFKPGGJE.Floor; } else { kofbfkpggje = Bullet.KOFBFKPGGJE.Ceiling; } } if (this.reflectSurfaces.KFLBKDPEHEN(kofbfkpggje) && this.OLGFHGAEILI < this.maxReflections) { this.OLGFHGAEILI++; float num2 = this.IGOFELJMFOF.magnitude * this.restitution; Vector3 normalized = this.IGOFELJMFOF.normalized; Vector3 vector3 = Vector3.Reflect(normalized, iheakaogcif.EPIJGDAJDJN); base.transform.position = iheakaogcif.LLKJDBBNPKB + iheakaogcif.EPIJGDAJDJN * 463f * this.GLMLNBELIKO(); this.IGOFELJMFOF = vector3 * num2; } else { switch (kofbfkpggje) { case Bullet.KOFBFKPGGJE.Player: this.BDLEDGLGGEG(this.KFPJCHCOICH(), hdoicgikkao, iheakaogcif); break; case Bullet.KOFBFKPGGJE.Enemy: this.IEOHDNFJLDN(this.EFELPMFJNLO(), mhebdodjgoa, iheakaogcif); break; case Bullet.KOFBFKPGGJE.Tool: this.INHHLGEEJMA(tool, iheakaogcif); break; case Bullet.KOFBFKPGGJE.Trap: this.LOAHGINEINJ(trap, iheakaogcif); break; default: this.PFKKEIOJCHM(iheakaogcif); break; } if (this.MACHGLDJBMP.OPJBDKJDLFF(this.destroyOnLayers)) { Vector3 vector4 = MCFPEMCAKLN.LLKJDBBNPKB; if (this.visualRenderer != null) { vector4 -= this.IGOFELJMFOF.normalized * this.GLMLNBELIKO(); } this.BHFCGGJLKFB(vector4); } } } // Token: 0x06021C47 RID: 138311 RVA: 0x0093C004 File Offset: 0x0093A204 private void LAJBDCOCJFE(Vector3 NOBAPCOKFIL) { this.LNNHOFAOHOC = NOBAPCOKFIL; if (this.supportsVisualStretching) { this.FBKKIJOPELL = this.GKLIPJIHFFA().magnitude; } } // Token: 0x06021C48 RID: 138312 RVA: 0x0093C038 File Offset: 0x0093A238 private bool FDDIDAPGONO(EFIABKCOFBE FMHCOGJJNFO) { float num = Time.fixedTime - this.NNDIBBPDKMI; return num < this.ignoreStaticCollisionsDuration && FMHCOGJJNFO.MFBIFHCHNND.gameObject.OPJBDKJDLFF((LCIGHPPLKCA)177); } // Token: 0x06021C4A RID: 138314 RVA: 0x0093C080 File Offset: 0x0093A280 public void DGMNAKABBPG(Bullet.CNPNCBACBJB NOBAPCOKFIL) { Bullet.CNPNCBACBJB cnpncbacbjb = this.PAOJGBKGGDK; Bullet.CNPNCBACBJB cnpncbacbjb2; do { cnpncbacbjb2 = cnpncbacbjb; cnpncbacbjb = Interlocked.CompareExchange(ref this.PAOJGBKGGDK, (Bullet.CNPNCBACBJB)Delegate.Remove(cnpncbacbjb2, NOBAPCOKFIL), cnpncbacbjb); } while (cnpncbacbjb != cnpncbacbjb2); } // Token: 0x14000168 RID: 360 // (add) Token: 0x06021C62 RID: 138338 RVA: 0x0093C7A0 File Offset: 0x0093A9A0 // (remove) Token: 0x06021C4B RID: 138315 RVA: 0x0093C0B8 File Offset: 0x0093A2B8 [field: DebuggerBrowsable(DebuggerBrowsableState.Never)] public event Bullet.JJANGLANMOO NKLDFBAGLFJ; // Token: 0x06021C4C RID: 138316 RVA: 0x0093C0F0 File Offset: 0x0093A2F0 public void CBFMDLLFHPK(Bullet.ANADCNDLFNN NOBAPCOKFIL) { Bullet.ANADCNDLFNN anadcndlfnn = this.BNLLAHFKFBB; Bullet.ANADCNDLFNN anadcndlfnn2; do { anadcndlfnn2 = anadcndlfnn; anadcndlfnn = Interlocked.CompareExchange(ref this.BNLLAHFKFBB, (Bullet.ANADCNDLFNN)Delegate.Combine(anadcndlfnn2, NOBAPCOKFIL), anadcndlfnn); } while (anadcndlfnn != anadcndlfnn2); } // Token: 0x06021C4D RID: 138317 RVA: 0x0093C128 File Offset: 0x0093A328 protected void ABJDGBHPGCK(float NOBAPCOKFIL) { this.k__BackingField = NOBAPCOKFIL; } // Token: 0x06021C4E RID: 138318 RVA: 0x0093C134 File Offset: 0x0093A334 private void FFLIFKPDCDD() { if (base.gameObject.activeSelf) { } this.particles.emission.enabled = true; } // Token: 0x06021C4F RID: 138319 RVA: 0x0093C168 File Offset: 0x0093A368 private bool EFBOEJJFNEG(EFIABKCOFBE FMHCOGJJNFO) { float num = Time.fixedTime - this.NNDIBBPDKMI; return num < this.ignoreStaticCollisionsDuration && FMHCOGJJNFO.MFBIFHCHNND.gameObject.OPJBDKJDLFF(LCIGHPPLKCA.StaticPhysics); } // Token: 0x06021C50 RID: 138320 RVA: 0x0093C1A8 File Offset: 0x0093A3A8 public void ODDAHONNPLO(Bullet.GOJKIAGKJMO NOBAPCOKFIL) { Bullet.GOJKIAGKJMO gojkiagkjmo = this.OFMHAGBKEHG; Bullet.GOJKIAGKJMO gojkiagkjmo2; do { gojkiagkjmo2 = gojkiagkjmo; gojkiagkjmo = Interlocked.CompareExchange(ref this.OFMHAGBKEHG, (Bullet.GOJKIAGKJMO)Delegate.Remove(gojkiagkjmo2, NOBAPCOKFIL), gojkiagkjmo); } while (gojkiagkjmo != gojkiagkjmo2); } // Token: 0x06021C51 RID: 138321 RVA: 0x0093C1E0 File Offset: 0x0093A3E0 protected virtual void DHJEMHJPPCI() { float num = Time.fixedTime - this.NNDIBBPDKMI; if (num >= this.EANCBPMKLKN) { this.BHFCGGJLKFB(base.transform.position); return; } Vector3 vector = this.KFAGGKKLIOF(); base.transform.position += this.IGOFELJMFOF * Time.fixedDeltaTime; base.transform.LookAt(base.transform.position + this.IGOFELJMFOF); if (this.KDJECFDNDAH()) { this.IGOFELJMFOF += Physics.gravity * Time.fixedDeltaTime * this.gravityRatio; } EFIABKCOFBE efiabkcofbe; bool flag = this.MFNHDDOPCPL.JDPFEKENCDK(vector, this.MBDDHLGBLNJ, this.GHBIPKNAOFC, 100, this.FOKHKLBPNLH, out efiabkcofbe); if (!flag || this.FDDIDAPGONO(efiabkcofbe)) { this.DKCAFCGPKEI(this.BCNMMMOKFHK() + this.IGOFELJMFOF * Time.fixedDeltaTime); return; } if (efiabkcofbe.ANLPOIMKHLH == 1409f && !this.DPHAFFCKCJN(vector, out efiabkcofbe)) { this.BHFCGGJLKFB(base.transform.position); return; } this.DKCAFCGPKEI(this.EOMOGKAJFIF() + (efiabkcofbe.LLKJDBBNPKB - vector)); this.IECDJLHCNFF(efiabkcofbe); } // Token: 0x06021C52 RID: 138322 RVA: 0x0093C34C File Offset: 0x0093A54C private Vector3 PABLKMDOCOP(Vector3 BEOLDGELJNG, int INLPJOENBAH) { float num = (float)INLPJOENBAH * Time.fixedDeltaTime; Vector3 vector = ((!this.AHOPIMGHDBO) ? Vector3.zero : (-Physics.gravity * this.gravityRatio)); Vector3 vector2 = -this.IGOFELJMFOF; Vector3 vector3 = vector2 * num + 0.5f * vector * num * num; return BEOLDGELJNG + vector3; } // Token: 0x06021C53 RID: 138323 RVA: 0x0093C3C4 File Offset: 0x0093A5C4 private bool POMJOEBMFAE(GameObject PBHKCNFFLNM) { if (this.MNNKGAIMCPN != null) { if (this.MNNKGAIMCPN.FKBHLGLGHGC(PBHKCNFFLNM) && this.MNNKGAIMCPN.CCBCCNPLICJ) { return false; } this.MNNKGAIMCPN.FHJPMFNEMFL(PBHKCNFFLNM); } return true; } // Token: 0x06021C54 RID: 138324 RVA: 0x0093C404 File Offset: 0x0093A604 private Vector3 JMFDCMLEOOO(Vector3 BEOLDGELJNG, int INLPJOENBAH) { float num = (float)INLPJOENBAH * Time.fixedDeltaTime; Vector3 vector = ((!this.KDJECFDNDAH()) ? Vector3.zero : (-Physics.gravity * this.gravityRatio)); Vector3 vector2 = -this.IGOFELJMFOF; Vector3 vector3 = vector2 * num + 753f * vector * num * num; return BEOLDGELJNG + vector3; } // Token: 0x06021C55 RID: 138325 RVA: 0x0093C47C File Offset: 0x0093A67C private void HLBHPDENNBH() { if (this.supportsDynamicColor) { Color color = this.dynamicColor; if (this.supportsAnimatedDynamicColorBlending) { color = Color.Lerp(this.dynamicColor, this.animatedDynamicColorBlendingTargetColor, this.animatedDynamicColorBlendingLerp); } if (this.supportsDynamicColorDistanceFading && SingletonMonoBehaviour.NCKMBFBMBFM != null) { float sqrMagnitude = (base.transform.position - SingletonMonoBehaviour.NCKMBFBMBFM.transform.position).sqrMagnitude; float num = Mathf.InverseLerp(this.minFadeDistanceFromCamera * this.minFadeDistanceFromCamera, this.maxFadeDistanceFromCamera * this.maxFadeDistanceFromCamera, sqrMagnitude); color.a = Mathf.SmoothStep(this.minFadeDistanceAlpha, this.maxFadeDistanceAlpha, num); } this.ANGFBLOOGAG(this.CEGHJDLBFBA, color); } } // Token: 0x06021C57 RID: 138327 RVA: 0x0093C550 File Offset: 0x0093A750 private bool AAHCOAGAKHK() { return !this.enableInstancedVisualRendering || (!(this.visualRenderer == null) && this.visualRenderer.sharedMaterials.Length <= 0 && this.visualRenderer.sharedMaterial.enableInstancing && SystemInfo.supportsInstancing); } // Token: 0x06021C58 RID: 138328 RVA: 0x0093C5B4 File Offset: 0x0093A7B4 public void KHGEIJHHOHM(Bullet.NJIPDNBCKJD NOBAPCOKFIL) { Bullet.NJIPDNBCKJD njipdnbckjd = this.OELFEIGJEHI; Bullet.NJIPDNBCKJD njipdnbckjd2; do { njipdnbckjd2 = njipdnbckjd; njipdnbckjd = Interlocked.CompareExchange(ref this.OELFEIGJEHI, (Bullet.NJIPDNBCKJD)Delegate.Remove(njipdnbckjd2, NOBAPCOKFIL), njipdnbckjd); } while (njipdnbckjd != njipdnbckjd2); } // Token: 0x06021C59 RID: 138329 RVA: 0x0093C5EC File Offset: 0x0093A7EC protected Enemy EFELPMFJNLO() { return this.k__BackingField; } // Token: 0x06021C5A RID: 138330 RVA: 0x0093C5F4 File Offset: 0x0093A7F4 private void LOAHGINEINJ(Trap NDECIHPBKBN, IHEAKAOGCIF CACIBBKDNIH) { if (this.POMJOEBMFAE(NDECIHPBKBN.gameObject) && this.BNLLAHFKFBB != null) { this.BNLLAHFKFBB(this, NDECIHPBKBN, CACIBBKDNIH); } } // Token: 0x06021C5B RID: 138331 RVA: 0x0093C620 File Offset: 0x0093A820 private void LIPMFJICFNL(MNNKGAIMCPN NOBAPCOKFIL) { this.k__BackingField = NOBAPCOKFIL; } // Token: 0x06021C5C RID: 138332 RVA: 0x0093C62C File Offset: 0x0093A82C private void DKCAFCGPKEI(Vector3 NOBAPCOKFIL) { this.LNNHOFAOHOC = NOBAPCOKFIL; if (this.supportsVisualStretching) { this.FBKKIJOPELL = this.GKLIPJIHFFA().magnitude; } } // Token: 0x06021C5D RID: 138333 RVA: 0x0093C660 File Offset: 0x0093A860 private void KEPABDJPHJD(Player IPLDGGMENKL, Player.HDOICGIKKAO OJCFELLMIFA, IHEAKAOGCIF CACIBBKDNIH) { if (this.POMJOEBMFAE(IPLDGGMENKL.gameObject) && this.NKLDFBAGLFJ != null) { this.NKLDFBAGLFJ(this, IPLDGGMENKL, OJCFELLMIFA, CACIBBKDNIH); } } // Token: 0x06021C5F RID: 138335 RVA: 0x0093C6C8 File Offset: 0x0093A8C8 private void CGEOOOHCLLL() { if (base.gameObject.activeSelf) { } this.particles.emission.enabled = false; } // Token: 0x06021C60 RID: 138336 RVA: 0x0093C6FC File Offset: 0x0093A8FC protected void AOHFBIBIODM() { if (this.ECCNKFBMMFE != null) { this.ECCNKFBMMFE.enabled = false; } if (this.particles != null) { this.particles.Clear(); this.particles.emission.enabled = false; } if (this.supportsVisualStretching) { this.FBKKIJOPELL = 493f; } if (this.DONLKLOALMJ) { BulletInstanceRenderer.BCCLPKDBCPA().BKKBALNKFFE(this.MDGKHJAMPLG); } ObjectPool.NCKMBFBMBFM.Release(this); } // Token: 0x06021C61 RID: 138337 RVA: 0x0093C794 File Offset: 0x0093A994 private void COLAHGJNDEE(Enemy NOBAPCOKFIL) { this.k__BackingField = NOBAPCOKFIL; } // Token: 0x06021C63 RID: 138339 RVA: 0x0093C7D8 File Offset: 0x0093A9D8 private void HEKGKNAMJGB(int BICBDINPJNI, Color HNOPCLEFEIG) { if (this.DONLKLOALMJ) { this.MDGKHJAMPLG.GBLPHKFPELB = HNOPCLEFEIG; } else if (this.visualRenderer != null) { if (this.MAHDCECFMKN == null) { this.MAHDCECFMKN = new MaterialPropertyBlock(); } this.MAHDCECFMKN.SetColor(BICBDINPJNI, HNOPCLEFEIG); this.visualRenderer.SetPropertyBlock(this.MAHDCECFMKN); } } // Token: 0x17000FD7 RID: 4055 // (get) Token: 0x06021C64 RID: 138340 RVA: 0x0093C848 File Offset: 0x0093AA48 protected bool AHOPIMGHDBO { get { return this.applyGravity || (this.supportsGravityAfterReflection && this.OLGFHGAEILI > 0); } } // Token: 0x0400579A RID: 22426 [SerializeField] [Header("Physics")] private float colliderRadius = 0.033f; // Token: 0x0400579B RID: 22427 [SerializeField] private bool applyGravity = true; // Token: 0x0400579C RID: 22428 [SerializeField] private float gravityRatio = 1f; // Token: 0x0400579D RID: 22429 [SerializeField] private LCIGHPPLKCA destroyOnLayers = LCIGHPPLKCA.BulletPhysics; // Token: 0x0400579E RID: 22430 [SerializeField] private float ignoreStaticCollisionsDuration; // Token: 0x0400579F RID: 22431 [Header("Reflection")] [SerializeField] private Bullet.KOFBFKPGGJE[] reflectSurfaces; // Token: 0x040057A0 RID: 22432 [SerializeField] private float minWallSlopeDegrees = 30f; // Token: 0x040057A1 RID: 22433 [SerializeField] private int maxReflections = 1; // Token: 0x040057A2 RID: 22434 [SerializeField] private float restitution = 1f; // Token: 0x040057A3 RID: 22435 [SerializeField] private bool supportsGravityAfterReflection; // Token: 0x040057A4 RID: 22436 [Header("Cleanup")] [SerializeField] private float selfDestructTime = 10f; // Token: 0x040057A5 RID: 22437 [SerializeField] [Header("Visuals")] private bool enableInstancedVisualRendering; // Token: 0x040057A6 RID: 22438 [SerializeField] private Renderer visualRenderer; // Token: 0x040057A7 RID: 22439 [Header("Dynamic Color")] [SerializeField] private bool supportsDynamicColor; // Token: 0x040057A8 RID: 22440 [SerializeField] private string dynamicColorShaderPropertyName = "_Color"; // Token: 0x040057A9 RID: 22441 [SerializeField] private Color dynamicColor; // Token: 0x040057AA RID: 22442 [SerializeField] [Header("Animated Dynamic Color Blending")] private bool supportsAnimatedDynamicColorBlending; // Token: 0x040057AB RID: 22443 [SerializeField] private Color animatedDynamicColorBlendingTargetColor; // Token: 0x040057AC RID: 22444 [SerializeField] private float animatedDynamicColorBlendingLerp; // Token: 0x040057AD RID: 22445 [Header("Distance Fading")] [SerializeField] private bool supportsDynamicColorDistanceFading; // Token: 0x040057AE RID: 22446 [SerializeField] private float maxFadeDistanceFromCamera = 16f; // Token: 0x040057AF RID: 22447 [SerializeField] private float minFadeDistanceFromCamera = 1f; // Token: 0x040057B0 RID: 22448 [SerializeField] private float maxFadeDistanceAlpha = 0.05f; // Token: 0x040057B1 RID: 22449 [SerializeField] private float minFadeDistanceAlpha = 0.75f; // Token: 0x040057B2 RID: 22450 [Header("Stretching")] [SerializeField] private bool supportsVisualStretching; // Token: 0x040057B3 RID: 22451 [SerializeField] private Transform stretchTransform; // Token: 0x040057B4 RID: 22452 [SerializeField] private float maxStretchDistance = 10f; // Token: 0x040057B5 RID: 22453 [SerializeField] private bool calculateStretchFinishTime; // Token: 0x040057B6 RID: 22454 [SerializeField] [FormerlySerializedAs("minFinishTime")] private float explicitStretchFinishTime = 0.5f; // Token: 0x040057B7 RID: 22455 [SerializeField] [Header("Audio")] private RecRoomAudioClip audioLoop; // Token: 0x040057B8 RID: 22456 [SerializeField] [Header("Misc Visuals")] private ParticleSystem particles; // Token: 0x040057B9 RID: 22457 private readonly int BALGIKMCJHI = Animator.StringToHash("Fire"); // Token: 0x040057BA RID: 22458 private int CEGHJDLBFBA = -1; // Token: 0x040057BB RID: 22459 private bool DONLKLOALMJ; // Token: 0x040057BC RID: 22460 private NEKKNGLICJB MDGKHJAMPLG; // Token: 0x040057BD RID: 22461 private int OLGFHGAEILI; // Token: 0x040057BE RID: 22462 private EIEDHNAFJJF MFNHDDOPCPL = new EIEDHNAFJJF(); // Token: 0x040057BF RID: 22463 private Vector3 IGOFELJMFOF = Vector3.zero; // Token: 0x040057C0 RID: 22464 private List FOKHKLBPNLH; // Token: 0x040057C1 RID: 22465 private float FNNAAICLLFC = 1f; // Token: 0x040057C2 RID: 22466 private SFXAudioSource POHCLHLAPKO; // Token: 0x040057C3 RID: 22467 private Animator FIOLBHFJENN; // Token: 0x040057C4 RID: 22468 private Animation CDAABBEPMIC; // Token: 0x040057C5 RID: 22469 private TriggerToAnimationMapping CGAIEFABDKF; // Token: 0x040057C6 RID: 22470 protected float EANCBPMKLKN; // Token: 0x040057C7 RID: 22471 protected float NNDIBBPDKMI; // Token: 0x040057C8 RID: 22472 protected GameObject MACHGLDJBMP; // Token: 0x040057C9 RID: 22473 protected BulletTrail ECCNKFBMMFE; // Token: 0x040057CA RID: 22474 private MaterialPropertyBlock MAHDCECFMKN; // Token: 0x040057D1 RID: 22481 private Vector3 LNNHOFAOHOC = Vector3.zero; // Token: 0x040057D5 RID: 22485 private Color OIIOCDGKINB; // Token: 0x040057D8 RID: 22488 protected float LGGCDCAGILF; // Token: 0x02000FB9 RID: 4025 public enum KOFBFKPGGJE { // Token: 0x040057DA RID: 22490 Player, // Token: 0x040057DB RID: 22491 Enemy, // Token: 0x040057DC RID: 22492 Tool, // Token: 0x040057DD RID: 22493 Trap, // Token: 0x040057DE RID: 22494 Floor, // Token: 0x040057DF RID: 22495 Wall, // Token: 0x040057E0 RID: 22496 Ceiling } // Token: 0x02000FBA RID: 4026 // (Invoke) Token: 0x06021C66 RID: 138342 public delegate void JJANGLANMOO(Bullet IPDEDKKMIKD, Player IPLDGGMENKL, Player.HDOICGIKKAO OJCFELLMIFA, IHEAKAOGCIF CACIBBKDNIH); // Token: 0x02000FBB RID: 4027 // (Invoke) Token: 0x06021C6A RID: 138346 public delegate void CNPNCBACBJB(Bullet IPDEDKKMIKD, Enemy AKICADDPOIF, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH); // Token: 0x02000FBC RID: 4028 // (Invoke) Token: 0x06021C6E RID: 138350 public delegate void NJIPDNBCKJD(Bullet IPDEDKKMIKD, Tool EEPPNAIKGEO, IHEAKAOGCIF CACIBBKDNIH); // Token: 0x02000FBD RID: 4029 // (Invoke) Token: 0x06021C72 RID: 138354 public delegate void ANADCNDLFNN(Bullet IPDEDKKMIKD, Trap IAHICNDNKAL, IHEAKAOGCIF CACIBBKDNIH); // Token: 0x02000FBE RID: 4030 // (Invoke) Token: 0x06021C76 RID: 138358 public delegate void GOJKIAGKJMO(Bullet IPDEDKKMIKD, IHEAKAOGCIF CACIBBKDNIH); } }