Files
2026-06-04 11:42:34 +02:00

2150 lines
67 KiB
C#

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<Bullet.GOJKIAGKJMO>(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.<NPNJNDHANMP>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<Bullet.CNPNCBACBJB>(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.<NIGKLDDBJIE>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<Bullet.GOJKIAGKJMO>(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<Rigidbody> 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<CameraRig>.NCKMBFBMBFM != null)
{
float sqrMagnitude = (base.transform.position - SingletonMonoBehaviour<CameraRig>.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<Bullet> NOBAPCOKFIL)
{
Action<Bullet> action = this.DOFOEEDKAAF;
Action<Bullet> action2;
do
{
action2 = action;
action = Interlocked.CompareExchange<Action<Bullet>>(ref this.DOFOEEDKAAF, (Action<Bullet>)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.<FIDHFFODJBO>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.<FPDDDOCCHGJ>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<Rigidbody> 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<Bullet.GOJKIAGKJMO>(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<Bullet> NOBAPCOKFIL)
{
Action<Bullet> action = this.DOFOEEDKAAF;
Action<Bullet> action2;
do
{
action2 = action;
action = Interlocked.CompareExchange<Action<Bullet>>(ref this.DOFOEEDKAAF, (Action<Bullet>)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<CameraRig>.NCKMBFBMBFM != null)
{
float sqrMagnitude = (base.transform.position - SingletonMonoBehaviour<CameraRig>.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.<NPNJNDHANMP>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<Bullet.ANADCNDLFNN>(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<Bullet.NJIPDNBCKJD>(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<Bullet.JJANGLANMOO>(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.<KACBIAFPIBF>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<Bullet.CNPNCBACBJB>(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.<NIGKLDDBJIE>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.<KACBIAFPIBF>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.<FPDDDOCCHGJ>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<ProjectileTool>() != 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<Rigidbody> 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.<NPNJNDHANMP>k__BackingField = NOBAPCOKFIL;
}
// Token: 0x06021C21 RID: 138273 RVA: 0x0093AEA0 File Offset: 0x009390A0
protected void LNNAGANDHMB(float NOBAPCOKFIL)
{
this.<NIGKLDDBJIE>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<Bullet.CNPNCBACBJB>(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.<FPDDDOCCHGJ>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<Bullet.ANADCNDLFNN>(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<Bullet.CNPNCBACBJB>(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<Bullet.JJANGLANMOO>(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<Bullet.GOJKIAGKJMO>(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<Bullet> 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.<NIGKLDDBJIE>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<ProjectileTool>() != 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.<FPDDDOCCHGJ>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<Animator>(true);
this.CDAABBEPMIC = base.GetComponentInChildren<Animation>(true);
this.CGAIEFABDKF = base.GetComponentInChildren<TriggerToAnimationMapping>(true);
this.ECCNKFBMMFE = base.GetComponentInChildren<BulletTrail>();
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<ProjectileTool>() != 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<Bullet.CNPNCBACBJB>(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<Bullet.ANADCNDLFNN>(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.<NIGKLDDBJIE>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<Bullet.GOJKIAGKJMO>(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<CameraRig>.NCKMBFBMBFM != null)
{
float sqrMagnitude = (base.transform.position - SingletonMonoBehaviour<CameraRig>.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<Bullet.NJIPDNBCKJD>(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.<KACBIAFPIBF>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.<FIDHFFODJBO>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.<KACBIAFPIBF>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<Rigidbody> 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);
}
}