This commit is contained in:
niko
2026-06-04 11:42:34 +02:00
parent f39ba70a9f
commit e720b98cd1
7488 changed files with 2493818 additions and 0 deletions
@@ -0,0 +1,1830 @@
using System;
using System.Collections;
using UnityEngine;
namespace RecRoom.Tools.Weapons
{
// Token: 0x020000E8 RID: 232
public class BurstFireGun : RangedWeapon
{
// Token: 0x06002EC3 RID: 11971 RVA: 0x000EA3CC File Offset: 0x000E85CC
private float JAKDNKIOMFO()
{
float num = 1976f;
if (this.kickbackTransform != null)
{
num = this.kickbackTransform.localEulerAngles.x;
if (num > 1937f)
{
num -= 1794f;
}
else if (num < 1741f)
{
num += 83f;
}
}
return num;
}
// Token: 0x06002EC4 RID: 11972 RVA: 0x000EA430 File Offset: 0x000E8630
private void KFNLKNBHFKF(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP)
{
float num = Mathf.InverseLerp(MCMNIMLKINN, 1743f, PKEFCMJJNOH);
float num2 = NNGFEGAEJPG.HCGEDPDBPBG(467f, LLMBKANNAOF, num);
ONDBGEBPLHB = 1230f * num2 / MCMNIMLKINN;
MGMOFAIGIGP = 1197f * ONDBGEBPLHB / GCIGCDDMNCK;
}
// Token: 0x06002EC5 RID: 11973 RVA: 0x000EA474 File Offset: 0x000E8674
private void CKCIFFNKDFK(Tool COMHEONOMBA)
{
this.FBBJLNENPBP();
}
// Token: 0x06002EC6 RID: 11974 RVA: 0x000EA47C File Offset: 0x000E867C
private void DGIDOIMBEGJ(Tool COMHEONOMBA)
{
if (base.JNOCCMDBMIO())
{
this.HPOFGBBCCJK();
}
}
// Token: 0x06002EC7 RID: 11975 RVA: 0x000EA490 File Offset: 0x000E8690
private void BOJNHMIBIPL()
{
this.KIJBLCJGFAK();
this.HGDODPIFCKP = base.StartCoroutine(this.KGBAFLBEHHK());
}
// Token: 0x06002EC8 RID: 11976 RVA: 0x000EA4AC File Offset: 0x000E86AC
private void IBGKJGMGCAB(Tool COMHEONOMBA)
{
this.KIJBLCJGFAK();
}
// Token: 0x06002EC9 RID: 11977 RVA: 0x000EA4B4 File Offset: 0x000E86B4
private void AAHCJACMEDJ(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP)
{
float num = Mathf.InverseLerp(MCMNIMLKINN, 76f, PKEFCMJJNOH);
float num2 = NNGFEGAEJPG.HCGEDPDBPBG(607f, LLMBKANNAOF, num);
ONDBGEBPLHB = 1809f * num2 / MCMNIMLKINN;
MGMOFAIGIGP = 562f * ONDBGEBPLHB / GCIGCDDMNCK;
}
// Token: 0x06002ECA RID: 11978 RVA: 0x000EA4F8 File Offset: 0x000E86F8
private IEnumerator MJAIFBEJBID(int NMEOKPCPDEE)
{
if (this.kickbackTransform == null)
{
yield break;
}
float num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length;
float num2 = 1f / this.semiAutomaticFiringRate;
float num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized);
float num4 = (float)NMEOKPCPDEE * num * -1f;
float num5 = 0f;
float num6 = 0f;
this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6);
float num7 = 0f;
float num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6);
while (num7 < num8)
{
float num9 = num5 * num7 + 0.5f * num6 * num7 * num7;
this.BKAFKJDDFNM = num4 + num9 * -1f;
yield return null;
num7 += Time.deltaTime;
}
this.BKAFKJDDFNM = 0f;
this.HFFAIEENOFH = null;
yield break;
}
// Token: 0x170000DD RID: 221
// (get) Token: 0x06002ECB RID: 11979 RVA: 0x000EA51C File Offset: 0x000E871C
// (set) Token: 0x06002F28 RID: 12072 RVA: 0x000EBA84 File Offset: 0x000E9C84
private float BKAFKJDDFNM
{
get
{
float num = 0f;
if (this.kickbackTransform != null)
{
num = this.kickbackTransform.localEulerAngles.x;
if (num > 180f)
{
num -= 360f;
}
else if (num < -180f)
{
num += 360f;
}
}
return num;
}
set
{
if (this.kickbackTransform != null)
{
Vector3 localEulerAngles = this.kickbackTransform.localEulerAngles;
localEulerAngles.x = value;
this.kickbackTransform.localEulerAngles = localEulerAngles;
}
}
}
// Token: 0x06002ECC RID: 11980 RVA: 0x000EA580 File Offset: 0x000E8780
private IEnumerator CPNEPLBCGOK(float GKICDGMMPBH)
{
for (float num = 0f; num < GKICDGMMPBH; num += Time.deltaTime)
{
yield return null;
}
yield break;
}
// Token: 0x06002ECD RID: 11981 RVA: 0x000EA59C File Offset: 0x000E879C
private void GDMBMOIPOOJ(Tool COMHEONOMBA)
{
if (base.BHCCHBHNHCG)
{
this.OFOFOBBNIJH();
}
}
// Token: 0x06002ECE RID: 11982 RVA: 0x000EA5B0 File Offset: 0x000E87B0
protected virtual void ABBDFEGOFPH()
{
base.Awake();
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0)
{
Debug.LogError(base.name + "Cheering!");
}
else
{
this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount];
for (int i = 1; i < this.sprayTargetRoot.childCount; i += 0)
{
this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i);
}
}
}
if (base.BKDFLNGCINH != null)
{
base.BKDFLNGCINH.PEOCFOCDAFL += this.NMBMAIMFBOM;
base.BKDFLNGCINH.PHDHDAIGBCC += this.OBLKEJELGAO;
base.BKDFLNGCINH.FKFCJGKDOBF += this.GDMBMOIPOOJ;
}
}
// Token: 0x06002ECF RID: 11983 RVA: 0x000EA6A8 File Offset: 0x000E88A8
private void FBBJLNENPBP()
{
if (this.HGDODPIFCKP != null)
{
base.StopCoroutine(this.HGDODPIFCKP);
this.HGDODPIFCKP = null;
}
}
// Token: 0x06002ED0 RID: 11984 RVA: 0x000EA6C8 File Offset: 0x000E88C8
private void OGDHLLMJOEB()
{
if (this.HFFAIEENOFH != null)
{
base.StopCoroutine(this.HFFAIEENOFH);
this.HFFAIEENOFH = null;
}
}
// Token: 0x06002ED1 RID: 11985 RVA: 0x000EA6E8 File Offset: 0x000E88E8
private float NFOPIDMMECM()
{
float num = 205f;
if (this.kickbackTransform != null)
{
num = this.kickbackTransform.localEulerAngles.x;
if (num > 305f)
{
num -= 483f;
}
else if (num < 1870f)
{
num += 1359f;
}
}
return num;
}
// Token: 0x06002ED2 RID: 11986 RVA: 0x000EA74C File Offset: 0x000E894C
private void HPOFGBBCCJK()
{
if (this.HGDODPIFCKP != null)
{
base.StopCoroutine(this.HGDODPIFCKP);
this.HGDODPIFCKP = null;
}
}
// Token: 0x06002ED3 RID: 11987 RVA: 0x000EA76C File Offset: 0x000E896C
protected override void OnDestroy()
{
base.OnDestroy();
if (base.BKDFLNGCINH != null)
{
base.BKDFLNGCINH.PEOCFOCDAFL -= this.JHCMHEMLHPB;
base.BKDFLNGCINH.PHDHDAIGBCC -= this.APLKELGEMKB;
base.BKDFLNGCINH.FKFCJGKDOBF -= this.GDMBMOIPOOJ;
}
}
// Token: 0x06002ED4 RID: 11988 RVA: 0x000EA7D8 File Offset: 0x000E89D8
private void APLKELGEMKB(Tool COMHEONOMBA)
{
this.OFOFOBBNIJH();
}
// Token: 0x06002ED5 RID: 11989 RVA: 0x000EA7E0 File Offset: 0x000E89E0
private void MKIGHBEEFJL()
{
if (this.HGDODPIFCKP != null)
{
base.StopCoroutine(this.HGDODPIFCKP);
this.HGDODPIFCKP = null;
}
}
// Token: 0x06002ED6 RID: 11990 RVA: 0x000EA800 File Offset: 0x000E8A00
protected virtual void EJMLBENKCBO(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO);
if (!AOBDBDEHCJO)
{
if (!base.DGLKKANNBPD())
{
this.IPEEEOLILDF(Mathf.RoundToInt(FNNAAICLLFC));
}
this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1721f, null);
}
}
// Token: 0x06002ED7 RID: 11991 RVA: 0x000EA840 File Offset: 0x000E8A40
private void KIJBLCJGFAK()
{
if (this.HGDODPIFCKP != null)
{
base.StopCoroutine(this.HGDODPIFCKP);
this.HGDODPIFCKP = null;
}
}
// Token: 0x06002ED8 RID: 11992 RVA: 0x000EA860 File Offset: 0x000E8A60
private void GECLEDKDIOK(Tool COMHEONOMBA)
{
if (base.IGIPCHFCFNN())
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
}
else if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.LAGBDOMILAF();
}
else
{
this.GANIKGIAOEC();
}
}
}
// Token: 0x06002ED9 RID: 11993 RVA: 0x000EA8BC File Offset: 0x000E8ABC
protected virtual void NHKPHJCFDLL()
{
base.OnDestroy();
if (base.BKDFLNGCINH != null)
{
base.BKDFLNGCINH.PEOCFOCDAFL -= this.MKEPFDGNMIG;
base.BKDFLNGCINH.PHDHDAIGBCC -= this.CKCIFFNKDFK;
base.BKDFLNGCINH.FKFCJGKDOBF -= this.HODJIHHBKDJ;
}
}
// Token: 0x06002EDA RID: 11994 RVA: 0x000EA928 File Offset: 0x000E8B28
private void FKMOPDPDJEM()
{
if (this.HFFAIEENOFH != null)
{
base.StopCoroutine(this.HFFAIEENOFH);
this.HFFAIEENOFH = null;
}
}
// Token: 0x06002EDB RID: 11995 RVA: 0x000EA948 File Offset: 0x000E8B48
private void AAEJCMANLIJ(Tool COMHEONOMBA)
{
this.BCCGHJMPMOA();
}
// Token: 0x06002EDC RID: 11996 RVA: 0x000EA950 File Offset: 0x000E8B50
private void KNLDMMGFJNO(int NMEOKPCPDEE)
{
this.OLIOOILPOHB();
this.HFFAIEENOFH = base.StartCoroutine(this.HFICFJNPBKI(NMEOKPCPDEE));
}
// Token: 0x06002EDD RID: 11997 RVA: 0x000EA96C File Offset: 0x000E8B6C
protected virtual void FFJKKHEJLKL(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO);
if (!AOBDBDEHCJO)
{
if (!base.GANDPDNCOKF())
{
this.NNIMOMCMENL(Mathf.RoundToInt(FNNAAICLLFC));
}
this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1208f, null);
}
}
// Token: 0x06002EDE RID: 11998 RVA: 0x000EA9AC File Offset: 0x000E8BAC
private void NPNKFOBBLPJ(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP)
{
float num = Mathf.InverseLerp(MCMNIMLKINN, 312f, PKEFCMJJNOH);
float num2 = NNGFEGAEJPG.HCGEDPDBPBG(1186f, LLMBKANNAOF, num);
ONDBGEBPLHB = 1928f * num2 / MCMNIMLKINN;
MGMOFAIGIGP = 1682f * ONDBGEBPLHB / GCIGCDDMNCK;
}
// Token: 0x06002EDF RID: 11999 RVA: 0x000EA9F0 File Offset: 0x000E8BF0
protected virtual void OPDMENDFALI()
{
base.Awake();
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0)
{
Debug.LogError(base.name + " / sec");
}
else
{
this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount];
for (int i = 1; i < this.sprayTargetRoot.childCount; i += 0)
{
this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i);
}
}
}
if (base.BKDFLNGCINH != null)
{
base.BKDFLNGCINH.PEOCFOCDAFL += this.NMBMAIMFBOM;
base.BKDFLNGCINH.PHDHDAIGBCC += this.APLKELGEMKB;
base.BKDFLNGCINH.FKFCJGKDOBF += this.DGIDOIMBEGJ;
}
}
// Token: 0x06002EE0 RID: 12000 RVA: 0x000EAAE8 File Offset: 0x000E8CE8
private IEnumerator CFMHHKBNCAO(float GKICDGMMPBH)
{
for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime)
{
yield return null;
}
yield break;
}
// Token: 0x06002EE1 RID: 12001 RVA: 0x000EAB04 File Offset: 0x000E8D04
protected virtual void OEGKJKNLMPB(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO);
if (!AOBDBDEHCJO)
{
if (!base.DGLOKLCEMLH())
{
this.LLGNHAANIAK(Mathf.RoundToInt(FNNAAICLLFC));
}
this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1868f, null);
}
}
// Token: 0x06002EE2 RID: 12002 RVA: 0x000EAB44 File Offset: 0x000E8D44
private void GGPLMDFBHDL()
{
this.OFOFOBBNIJH();
this.HGDODPIFCKP = base.StartCoroutine(this.HCPANPEKCMK());
}
// Token: 0x06002EE3 RID: 12003 RVA: 0x000EAB60 File Offset: 0x000E8D60
private IEnumerator KGBAFLBEHHK()
{
float num = 1f / this.semiAutomaticFiringRate;
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
this.sprayTargetRoot.localPosition = new Vector3(0f, 0f, (!this.hasMaxDistance) ? 50f : this.maxDistance);
for (int i = 0; i < this.CANMBNBBJBD.Length; i++)
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
break;
}
if (base.FLDILLCDEIB)
{
base.GGJKMDNJNEE.OnMisfire();
break;
}
this.KNLDMMGFJNO(i);
Vector3 normalized = (this.CANMBNBBJBD[i].position - this.barrelTransform.position).normalized;
this.Fire(normalized * this.bulletFireSpeed, (float)i);
yield return this.FDBDGCGIAJI(num);
}
}
else
{
int num2 = 0;
while ((float)num2 < this.simpleBurstModeBurstSize)
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
}
else if (base.FLDILLCDEIB)
{
base.GGJKMDNJNEE.OnMisfire();
}
else
{
this.KNLDMMGFJNO(num2);
this.Fire((float)num2);
}
yield return this.FDBDGCGIAJI(num);
num2++;
}
}
this.HGDODPIFCKP = null;
yield break;
}
// Token: 0x06002EE4 RID: 12004 RVA: 0x000EAB7C File Offset: 0x000E8D7C
private IEnumerator IGNCAGPPLHA(int NMEOKPCPDEE)
{
if (this.kickbackTransform == null)
{
yield break;
}
num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length;
num2 = 1f / this.semiAutomaticFiringRate;
num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized);
num4 = (float)NMEOKPCPDEE * num * -1f;
num5 = 0f;
num6 = 0f;
this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6);
num7 = 0f;
num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6);
while (num7 < num8)
{
num9 = num5 * num7 + 0.5f * num6 * num7 * num7;
this.BKAFKJDDFNM = num4 + num9 * -1f;
yield return null;
num7 += Time.deltaTime;
}
this.BKAFKJDDFNM = 0f;
this.HFFAIEENOFH = null;
yield break;
}
// Token: 0x06002EE5 RID: 12005 RVA: 0x000EABA0 File Offset: 0x000E8DA0
private void HAGBMDGIDDG()
{
if (this.HFFAIEENOFH != null)
{
base.StopCoroutine(this.HFFAIEENOFH);
this.HFFAIEENOFH = null;
}
}
// Token: 0x06002EE6 RID: 12006 RVA: 0x000EABC0 File Offset: 0x000E8DC0
private IEnumerator LDHJMGMOOLC(int NMEOKPCPDEE)
{
if (this.kickbackTransform == null)
{
yield break;
}
num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length;
num2 = 1f / this.semiAutomaticFiringRate;
num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized);
num4 = (float)NMEOKPCPDEE * num * -1f;
num5 = 0f;
num6 = 0f;
this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6);
num7 = 0f;
num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6);
while (num7 < num8)
{
num9 = num5 * num7 + 0.5f * num6 * num7 * num7;
this.BKAFKJDDFNM = num4 + num9 * -1f;
yield return null;
num7 += Time.deltaTime;
}
this.BKAFKJDDFNM = 0f;
this.HFFAIEENOFH = null;
yield break;
}
// Token: 0x06002EE7 RID: 12007 RVA: 0x000EABE4 File Offset: 0x000E8DE4
private void BGHDIPLOLPF(int NMEOKPCPDEE)
{
this.HNDCECLNGDD();
this.HFFAIEENOFH = base.StartCoroutine(this.IGNCAGPPLHA(NMEOKPCPDEE));
}
// Token: 0x06002EE8 RID: 12008 RVA: 0x000EAC00 File Offset: 0x000E8E00
private float MBILIIENKMI()
{
float num = 368f;
if (this.kickbackTransform != null)
{
num = this.kickbackTransform.localEulerAngles.x;
if (num > 1192f)
{
num -= 1943f;
}
else if (num < 520f)
{
num += 57f;
}
}
return num;
}
// Token: 0x06002EE9 RID: 12009 RVA: 0x000EAC64 File Offset: 0x000E8E64
private void IPEEEOLILDF(int NMEOKPCPDEE)
{
this.OLIOOILPOHB();
this.HFFAIEENOFH = base.StartCoroutine(this.GMJGMGKKAIH(NMEOKPCPDEE));
}
// Token: 0x06002EEA RID: 12010 RVA: 0x000EAC80 File Offset: 0x000E8E80
protected virtual void FNNEJGDMBNI()
{
base.Awake();
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0)
{
Debug.LogError(base.name + "amount");
}
else
{
this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount];
for (int i = 0; i < this.sprayTargetRoot.childCount; i++)
{
this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i);
}
}
}
if (base.BKDFLNGCINH != null)
{
base.BKDFLNGCINH.PEOCFOCDAFL += this.GECLEDKDIOK;
base.BKDFLNGCINH.PHDHDAIGBCC += this.CKCIFFNKDFK;
base.BKDFLNGCINH.FKFCJGKDOBF += this.GDMBMOIPOOJ;
}
}
// Token: 0x06002EEB RID: 12011 RVA: 0x000EAD78 File Offset: 0x000E8F78
private IEnumerator FDBDGCGIAJI(float GKICDGMMPBH)
{
for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime)
{
yield return null;
}
yield break;
}
// Token: 0x06002EEC RID: 12012 RVA: 0x000EAD94 File Offset: 0x000E8F94
private void MFODNLCDGIN(Tool COMHEONOMBA)
{
if (base.JNOCCMDBMIO())
{
this.KIJBLCJGFAK();
}
}
// Token: 0x06002EED RID: 12013 RVA: 0x000EADA8 File Offset: 0x000E8FA8
protected virtual void FMEKHHBACLM(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO);
if (!AOBDBDEHCJO)
{
if (!base.BHCCHBHNHCG)
{
this.NNIMOMCMENL(Mathf.RoundToInt(FNNAAICLLFC));
}
this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1161f, null);
}
}
// Token: 0x06002EEE RID: 12014 RVA: 0x000EADE8 File Offset: 0x000E8FE8
private IEnumerator IHEGLJCBLKL(float GKICDGMMPBH)
{
for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime)
{
yield return null;
}
yield break;
}
// Token: 0x06002EEF RID: 12015 RVA: 0x000EAE04 File Offset: 0x000E9004
protected virtual void KJHOGMOEGPP(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO);
if (!AOBDBDEHCJO)
{
if (!base.DGLKKANNBPD())
{
this.KNLDMMGFJNO(Mathf.RoundToInt(FNNAAICLLFC));
}
this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 705f, null);
}
}
// Token: 0x06002EF0 RID: 12016 RVA: 0x000EAE44 File Offset: 0x000E9044
private float JCNFOMKFOKK(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP)
{
float num = 51f;
float num2 = num - DFFENNKHLLA;
return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 100f, ONDBGEBPLHB, -num2);
}
// Token: 0x06002EF1 RID: 12017 RVA: 0x000EAE6C File Offset: 0x000E906C
private IEnumerator HCPANPEKCMK()
{
num = 1f / this.semiAutomaticFiringRate;
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
this.sprayTargetRoot.localPosition = new Vector3(0f, 0f, (!this.hasMaxDistance) ? 50f : this.maxDistance);
for (i = 0; i < this.CANMBNBBJBD.Length; i++)
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
break;
}
if (base.FLDILLCDEIB)
{
base.GGJKMDNJNEE.OnMisfire();
break;
}
this.KNLDMMGFJNO(i);
Vector3 normalized = (this.CANMBNBBJBD[i].position - this.barrelTransform.position).normalized;
this.Fire(normalized * this.bulletFireSpeed, (float)i);
yield return this.FDBDGCGIAJI(num);
}
}
else
{
num2 = 0;
while ((float)num2 < this.simpleBurstModeBurstSize)
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
}
else if (base.FLDILLCDEIB)
{
base.GGJKMDNJNEE.OnMisfire();
}
else
{
this.KNLDMMGFJNO(num2);
this.Fire((float)num2);
}
yield return this.FDBDGCGIAJI(num);
num2++;
}
}
this.HGDODPIFCKP = null;
yield break;
}
// Token: 0x06002EF2 RID: 12018 RVA: 0x000EAE88 File Offset: 0x000E9088
protected override void PEALKHMDMKP()
{
base.OnDestroy();
if (base.BKDFLNGCINH != null)
{
base.BKDFLNGCINH.PEOCFOCDAFL -= this.GECLEDKDIOK;
base.BKDFLNGCINH.PHDHDAIGBCC -= this.OBLKEJELGAO;
base.BKDFLNGCINH.FKFCJGKDOBF -= this.DMBOEHNMNCL;
}
}
// Token: 0x06002EF3 RID: 12019 RVA: 0x000EAEF4 File Offset: 0x000E90F4
private IEnumerator PKBEEADMICO(int NMEOKPCPDEE)
{
if (this.kickbackTransform == null)
{
yield break;
}
num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length;
num2 = 1f / this.semiAutomaticFiringRate;
num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized);
num4 = (float)NMEOKPCPDEE * num * -1f;
num5 = 0f;
num6 = 0f;
this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6);
num7 = 0f;
num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6);
while (num7 < num8)
{
num9 = num5 * num7 + 0.5f * num6 * num7 * num7;
this.BKAFKJDDFNM = num4 + num9 * -1f;
yield return null;
num7 += Time.deltaTime;
}
this.BKAFKJDDFNM = 0f;
this.HFFAIEENOFH = null;
yield break;
}
// Token: 0x06002EF4 RID: 12020 RVA: 0x000EAF18 File Offset: 0x000E9118
private void BOACMMAEOOB(int NMEOKPCPDEE)
{
this.HAGBMDGIDDG();
this.HFFAIEENOFH = base.StartCoroutine(this.MJAIFBEJBID(NMEOKPCPDEE));
}
// Token: 0x06002EF5 RID: 12021 RVA: 0x000EAF34 File Offset: 0x000E9134
private void GANIKGIAOEC()
{
this.BCCGHJMPMOA();
this.HGDODPIFCKP = base.StartCoroutine(this.DBGJHPELBOL());
}
// Token: 0x06002EF6 RID: 12022 RVA: 0x000EAF50 File Offset: 0x000E9150
private void JHCMHEMLHPB(Tool COMHEONOMBA)
{
if (base.BHCCHBHNHCG)
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
}
else if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.OnMisfire();
}
else
{
this.GGPLMDFBHDL();
}
}
}
// Token: 0x06002EF7 RID: 12023 RVA: 0x000EAFAC File Offset: 0x000E91AC
private void MKEPFDGNMIG(Tool COMHEONOMBA)
{
if (base.DFJFKOLLEMK())
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
}
else if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.IOMHAMBPGGL();
}
else
{
this.PLGLLPHJGON();
}
}
}
// Token: 0x06002EF8 RID: 12024 RVA: 0x000EB008 File Offset: 0x000E9208
protected virtual void LELHNBCKIEG()
{
base.Awake();
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0)
{
Debug.LogError(base.name + "Expected a StackedUIBase, but none found!");
}
else
{
this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount];
for (int i = 1; i < this.sprayTargetRoot.childCount; i++)
{
this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i);
}
}
}
if (base.BKDFLNGCINH != null)
{
base.BKDFLNGCINH.PEOCFOCDAFL += this.MKEPFDGNMIG;
base.BKDFLNGCINH.PHDHDAIGBCC += this.APLKELGEMKB;
base.BKDFLNGCINH.FKFCJGKDOBF += this.DMBOEHNMNCL;
}
}
// Token: 0x06002EF9 RID: 12025 RVA: 0x000EB100 File Offset: 0x000E9300
private void OBLKEJELGAO(Tool COMHEONOMBA)
{
this.KIJBLCJGFAK();
}
// Token: 0x06002EFA RID: 12026 RVA: 0x000EB108 File Offset: 0x000E9308
private void HODJIHHBKDJ(Tool COMHEONOMBA)
{
if (base.BHCCHBHNHCG)
{
this.FBBJLNENPBP();
}
}
// Token: 0x06002EFB RID: 12027 RVA: 0x000EB11C File Offset: 0x000E931C
private float CCLGNBNBDIC(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP)
{
float num = 648f;
float num2 = num - DFFENNKHLLA;
return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 1627f, ONDBGEBPLHB, -num2);
}
// Token: 0x06002EFC RID: 12028 RVA: 0x000EB144 File Offset: 0x000E9344
private void CDJDJMHNNBA(Tool COMHEONOMBA)
{
this.FBBJLNENPBP();
}
// Token: 0x06002EFD RID: 12029 RVA: 0x000EB14C File Offset: 0x000E934C
private void DMBOEHNMNCL(Tool COMHEONOMBA)
{
if (base.DGLOKLCEMLH())
{
this.OFOFOBBNIJH();
}
}
// Token: 0x06002EFE RID: 12030 RVA: 0x000EB160 File Offset: 0x000E9360
private void BLNHIHIEEAK(Tool COMHEONOMBA)
{
if (base.DFJFKOLLEMK())
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
}
else if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.DFBNCNIDKJK();
}
else
{
this.GGPLMDFBHDL();
}
}
}
// Token: 0x06002EFF RID: 12031 RVA: 0x000EB1BC File Offset: 0x000E93BC
private void OFOFOBBNIJH()
{
if (this.HGDODPIFCKP != null)
{
base.StopCoroutine(this.HGDODPIFCKP);
this.HGDODPIFCKP = null;
}
}
// Token: 0x06002F00 RID: 12032 RVA: 0x000EB1DC File Offset: 0x000E93DC
private void PLGLLPHJGON()
{
this.MKIGHBEEFJL();
this.HGDODPIFCKP = base.StartCoroutine(this.MBAKCGDDBHD());
}
// Token: 0x06002F01 RID: 12033 RVA: 0x000EB1F8 File Offset: 0x000E93F8
private IEnumerator MBAKCGDDBHD()
{
num = 1f / this.semiAutomaticFiringRate;
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
this.sprayTargetRoot.localPosition = new Vector3(0f, 0f, (!this.hasMaxDistance) ? 50f : this.maxDistance);
for (i = 0; i < this.CANMBNBBJBD.Length; i++)
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
break;
}
if (base.FLDILLCDEIB)
{
base.GGJKMDNJNEE.OnMisfire();
break;
}
this.KNLDMMGFJNO(i);
Vector3 normalized = (this.CANMBNBBJBD[i].position - this.barrelTransform.position).normalized;
this.Fire(normalized * this.bulletFireSpeed, (float)i);
yield return this.FDBDGCGIAJI(num);
}
}
else
{
num2 = 0;
while ((float)num2 < this.simpleBurstModeBurstSize)
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
}
else if (base.FLDILLCDEIB)
{
base.GGJKMDNJNEE.OnMisfire();
}
else
{
this.KNLDMMGFJNO(num2);
this.Fire((float)num2);
}
yield return this.FDBDGCGIAJI(num);
num2++;
}
}
this.HGDODPIFCKP = null;
yield break;
}
// Token: 0x06002F02 RID: 12034 RVA: 0x000EB214 File Offset: 0x000E9414
private void DEKIJIOMOHC()
{
if (this.HFFAIEENOFH != null)
{
base.StopCoroutine(this.HFFAIEENOFH);
this.HFFAIEENOFH = null;
}
}
// Token: 0x06002F03 RID: 12035 RVA: 0x000EB234 File Offset: 0x000E9434
protected virtual void FDHDHEJPEHC(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO);
if (!AOBDBDEHCJO)
{
if (!base.JNOCCMDBMIO())
{
this.IPEEEOLILDF(Mathf.RoundToInt(FNNAAICLLFC));
}
this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1251f, null);
}
}
// Token: 0x06002F04 RID: 12036 RVA: 0x000EB274 File Offset: 0x000E9474
private IEnumerator JNDJHFFOPKF(float GKICDGMMPBH)
{
for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime)
{
yield return null;
}
yield break;
}
// Token: 0x06002F05 RID: 12037 RVA: 0x000EB290 File Offset: 0x000E9490
private float BLAJDPPPFNK()
{
float num = 1117f;
if (this.kickbackTransform != null)
{
num = this.kickbackTransform.localEulerAngles.x;
if (num > 740f)
{
num -= 1426f;
}
else if (num < 1610f)
{
num += 1916f;
}
}
return num;
}
// Token: 0x06002F06 RID: 12038 RVA: 0x000EB2F4 File Offset: 0x000E94F4
private IEnumerator PGNPEGNDHJP(float GKICDGMMPBH)
{
for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime)
{
yield return null;
}
yield break;
}
// Token: 0x06002F07 RID: 12039 RVA: 0x000EB310 File Offset: 0x000E9510
private float NCGMKJPOFDL(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP)
{
float num = 1802f;
float num2 = num - DFFENNKHLLA;
return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 864f, ONDBGEBPLHB, -num2);
}
// Token: 0x06002F08 RID: 12040 RVA: 0x000EB338 File Offset: 0x000E9538
private void HNDCECLNGDD()
{
if (this.HFFAIEENOFH != null)
{
base.StopCoroutine(this.HFFAIEENOFH);
this.HFFAIEENOFH = null;
}
}
// Token: 0x06002F09 RID: 12041 RVA: 0x000EB358 File Offset: 0x000E9558
private float PBNPIENPEDK(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP)
{
float num = 1995f;
float num2 = num - DFFENNKHLLA;
return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 161f, ONDBGEBPLHB, -num2);
}
// Token: 0x06002F0A RID: 12042 RVA: 0x000EB380 File Offset: 0x000E9580
protected virtual void GJGEACMGLKP()
{
base.Awake();
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0)
{
Debug.LogError(base.name + "No non-practice extruder tools in Charades scene.");
}
else
{
this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount];
for (int i = 0; i < this.sprayTargetRoot.childCount; i += 0)
{
this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i);
}
}
}
if (base.BKDFLNGCINH != null)
{
base.BKDFLNGCINH.PEOCFOCDAFL += this.GECLEDKDIOK;
base.BKDFLNGCINH.PHDHDAIGBCC += this.OBLKEJELGAO;
base.BKDFLNGCINH.FKFCJGKDOBF += this.DGIDOIMBEGJ;
}
}
// Token: 0x06002F0B RID: 12043 RVA: 0x000EB478 File Offset: 0x000E9678
private void NNIMOMCMENL(int NMEOKPCPDEE)
{
this.FKMOPDPDJEM();
this.HFFAIEENOFH = base.StartCoroutine(this.GMJGMGKKAIH(NMEOKPCPDEE));
}
// Token: 0x06002F0C RID: 12044 RVA: 0x000EB494 File Offset: 0x000E9694
private void LLGNHAANIAK(int NMEOKPCPDEE)
{
this.DEKIJIOMOHC();
this.HFFAIEENOFH = base.StartCoroutine(this.PKBEEADMICO(NMEOKPCPDEE));
}
// Token: 0x06002F0D RID: 12045 RVA: 0x000EB4B0 File Offset: 0x000E96B0
private IEnumerator GMJGMGKKAIH(int NMEOKPCPDEE)
{
if (this.kickbackTransform == null)
{
yield break;
}
num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length;
num2 = 1f / this.semiAutomaticFiringRate;
num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized);
num4 = (float)NMEOKPCPDEE * num * -1f;
num5 = 0f;
num6 = 0f;
this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6);
num7 = 0f;
num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6);
while (num7 < num8)
{
num9 = num5 * num7 + 0.5f * num6 * num7 * num7;
this.BKAFKJDDFNM = num4 + num9 * -1f;
yield return null;
num7 += Time.deltaTime;
}
this.BKAFKJDDFNM = 0f;
this.HFFAIEENOFH = null;
yield break;
}
// Token: 0x06002F0E RID: 12046 RVA: 0x000EB4D4 File Offset: 0x000E96D4
private float EIIBOCIEGIM(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP)
{
float num = 0f;
float num2 = num - DFFENNKHLLA;
return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 2f, ONDBGEBPLHB, -num2);
}
// Token: 0x06002F0F RID: 12047 RVA: 0x000EB4FC File Offset: 0x000E96FC
protected override void Awake()
{
base.Awake();
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0)
{
Debug.LogError(base.name + " is missing spray targets.");
}
else
{
this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount];
for (int i = 0; i < this.sprayTargetRoot.childCount; i++)
{
this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i);
}
}
}
if (base.BKDFLNGCINH != null)
{
base.BKDFLNGCINH.PEOCFOCDAFL += this.JHCMHEMLHPB;
base.BKDFLNGCINH.PHDHDAIGBCC += this.APLKELGEMKB;
base.BKDFLNGCINH.FKFCJGKDOBF += this.GDMBMOIPOOJ;
}
}
// Token: 0x06002F10 RID: 12048 RVA: 0x000EB5F4 File Offset: 0x000E97F4
private void HKIGFLMFNLC(int NMEOKPCPDEE)
{
this.FKMOPDPDJEM();
this.HFFAIEENOFH = base.StartCoroutine(this.IGNCAGPPLHA(NMEOKPCPDEE));
}
// Token: 0x06002F11 RID: 12049 RVA: 0x000EB610 File Offset: 0x000E9810
private void HJDHMEPBKNJ()
{
if (this.HGDODPIFCKP != null)
{
base.StopCoroutine(this.HGDODPIFCKP);
this.HGDODPIFCKP = null;
}
}
// Token: 0x06002F12 RID: 12050 RVA: 0x000EB630 File Offset: 0x000E9830
private void BCCGHJMPMOA()
{
if (this.HGDODPIFCKP != null)
{
base.StopCoroutine(this.HGDODPIFCKP);
this.HGDODPIFCKP = null;
}
}
// Token: 0x06002F13 RID: 12051 RVA: 0x000EB650 File Offset: 0x000E9850
private void NMBMAIMFBOM(Tool COMHEONOMBA)
{
if (base.JNOCCMDBMIO())
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
}
else if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.JBOFLNCFGLO();
}
else
{
this.GANIKGIAOEC();
}
}
}
// Token: 0x06002F14 RID: 12052 RVA: 0x000EB6AC File Offset: 0x000E98AC
private IEnumerator EFKLPEMOPDK()
{
num = 1f / this.semiAutomaticFiringRate;
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
this.sprayTargetRoot.localPosition = new Vector3(0f, 0f, (!this.hasMaxDistance) ? 50f : this.maxDistance);
for (i = 0; i < this.CANMBNBBJBD.Length; i++)
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
break;
}
if (base.FLDILLCDEIB)
{
base.GGJKMDNJNEE.OnMisfire();
break;
}
this.KNLDMMGFJNO(i);
Vector3 normalized = (this.CANMBNBBJBD[i].position - this.barrelTransform.position).normalized;
this.Fire(normalized * this.bulletFireSpeed, (float)i);
yield return this.FDBDGCGIAJI(num);
}
}
else
{
num2 = 0;
while ((float)num2 < this.simpleBurstModeBurstSize)
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
}
else if (base.FLDILLCDEIB)
{
base.GGJKMDNJNEE.OnMisfire();
}
else
{
this.KNLDMMGFJNO(num2);
this.Fire((float)num2);
}
yield return this.FDBDGCGIAJI(num);
num2++;
}
}
this.HGDODPIFCKP = null;
yield break;
}
// Token: 0x06002F15 RID: 12053 RVA: 0x000EB6C8 File Offset: 0x000E98C8
protected virtual void IDFGKJHJBLA()
{
base.Awake();
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0)
{
Debug.LogError(base.name + "Failed to generate verification signature");
}
else
{
this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount];
for (int i = 0; i < this.sprayTargetRoot.childCount; i += 0)
{
this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i);
}
}
}
if (base.BKDFLNGCINH != null)
{
base.BKDFLNGCINH.PEOCFOCDAFL += this.MKEPFDGNMIG;
base.BKDFLNGCINH.PHDHDAIGBCC += this.CKCIFFNKDFK;
base.BKDFLNGCINH.FKFCJGKDOBF += this.GDMBMOIPOOJ;
}
}
// Token: 0x06002F16 RID: 12054 RVA: 0x000EB7C0 File Offset: 0x000E99C0
private void IOODLJNAPGO(int NMEOKPCPDEE)
{
this.HNDCECLNGDD();
this.HFFAIEENOFH = base.StartCoroutine(this.BEJLHLCIMFJ(NMEOKPCPDEE));
}
// Token: 0x06002F17 RID: 12055 RVA: 0x000EB7DC File Offset: 0x000E99DC
private void DKGAHENNLGC()
{
if (this.HGDODPIFCKP != null)
{
base.StopCoroutine(this.HGDODPIFCKP);
this.HGDODPIFCKP = null;
}
}
// Token: 0x06002F18 RID: 12056 RVA: 0x000EB7FC File Offset: 0x000E99FC
private IEnumerator JGNKGEOLFLA(float GKICDGMMPBH)
{
for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime)
{
yield return null;
}
yield break;
}
// Token: 0x06002F19 RID: 12057 RVA: 0x000EB818 File Offset: 0x000E9A18
private void OIEGDDICHFA(Tool COMHEONOMBA)
{
if (base.DFJFKOLLEMK())
{
this.FBBJLNENPBP();
}
}
// Token: 0x06002F1A RID: 12058 RVA: 0x000EB82C File Offset: 0x000E9A2C
private IEnumerator FNKNINEKBPN(int NMEOKPCPDEE)
{
if (this.kickbackTransform == null)
{
yield break;
}
num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length;
num2 = 1f / this.semiAutomaticFiringRate;
num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized);
num4 = (float)NMEOKPCPDEE * num * -1f;
num5 = 0f;
num6 = 0f;
this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6);
num7 = 0f;
num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6);
while (num7 < num8)
{
num9 = num5 * num7 + 0.5f * num6 * num7 * num7;
this.BKAFKJDDFNM = num4 + num9 * -1f;
yield return null;
num7 += Time.deltaTime;
}
this.BKAFKJDDFNM = 0f;
this.HFFAIEENOFH = null;
yield break;
}
// Token: 0x06002F1B RID: 12059 RVA: 0x000EB850 File Offset: 0x000E9A50
private IEnumerator NONFDMJPIKB(float GKICDGMMPBH)
{
for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime)
{
yield return null;
}
yield break;
}
// Token: 0x06002F1D RID: 12061 RVA: 0x000EB8C4 File Offset: 0x000E9AC4
private void NBNNFEPBKGK(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP)
{
float num = Mathf.InverseLerp(MCMNIMLKINN, 1f, PKEFCMJJNOH);
float num2 = NNGFEGAEJPG.HCGEDPDBPBG(0f, LLMBKANNAOF, num);
ONDBGEBPLHB = 2f * num2 / MCMNIMLKINN;
MGMOFAIGIGP = -2f * ONDBGEBPLHB / GCIGCDDMNCK;
}
// Token: 0x06002F1E RID: 12062 RVA: 0x000EB908 File Offset: 0x000E9B08
private IEnumerator ONGAINBMICB(float GKICDGMMPBH)
{
for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime)
{
yield return null;
}
yield break;
}
// Token: 0x06002F1F RID: 12063 RVA: 0x000EB924 File Offset: 0x000E9B24
private void LHIEGAHKGKH(int NMEOKPCPDEE)
{
this.DEKIJIOMOHC();
this.HFFAIEENOFH = base.StartCoroutine(this.LDHJMGMOOLC(NMEOKPCPDEE));
}
// Token: 0x06002F20 RID: 12064 RVA: 0x000EB940 File Offset: 0x000E9B40
private float IHGOPPIHBKC(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP)
{
float num = 883f;
float num2 = num - DFFENNKHLLA;
return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 393f, ONDBGEBPLHB, -num2);
}
// Token: 0x06002F21 RID: 12065 RVA: 0x000EB968 File Offset: 0x000E9B68
private IEnumerator DBGJHPELBOL()
{
num = 1f / this.semiAutomaticFiringRate;
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
this.sprayTargetRoot.localPosition = new Vector3(0f, 0f, (!this.hasMaxDistance) ? 50f : this.maxDistance);
for (i = 0; i < this.CANMBNBBJBD.Length; i++)
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
break;
}
if (base.FLDILLCDEIB)
{
base.GGJKMDNJNEE.OnMisfire();
break;
}
this.KNLDMMGFJNO(i);
Vector3 normalized = (this.CANMBNBBJBD[i].position - this.barrelTransform.position).normalized;
this.Fire(normalized * this.bulletFireSpeed, (float)i);
yield return this.FDBDGCGIAJI(num);
}
}
else
{
num2 = 0;
while ((float)num2 < this.simpleBurstModeBurstSize)
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
}
else if (base.FLDILLCDEIB)
{
base.GGJKMDNJNEE.OnMisfire();
}
else
{
this.KNLDMMGFJNO(num2);
this.Fire((float)num2);
}
yield return this.FDBDGCGIAJI(num);
num2++;
}
}
this.HGDODPIFCKP = null;
yield break;
}
// Token: 0x06002F22 RID: 12066 RVA: 0x000EB984 File Offset: 0x000E9B84
private void KAICCBOIJNO()
{
if (this.HGDODPIFCKP != null)
{
base.StopCoroutine(this.HGDODPIFCKP);
this.HGDODPIFCKP = null;
}
}
// Token: 0x06002F23 RID: 12067 RVA: 0x000EB9A4 File Offset: 0x000E9BA4
protected virtual void DGGLHDNAJFO(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO);
if (!AOBDBDEHCJO)
{
if (!base.DGLKKANNBPD())
{
this.IOODLJNAPGO(Mathf.RoundToInt(FNNAAICLLFC));
}
this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1715f, null);
}
}
// Token: 0x06002F24 RID: 12068 RVA: 0x000EB9E4 File Offset: 0x000E9BE4
private IEnumerator JNMKNFKNOPF()
{
num = 1f / this.semiAutomaticFiringRate;
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
this.sprayTargetRoot.localPosition = new Vector3(0f, 0f, (!this.hasMaxDistance) ? 50f : this.maxDistance);
for (i = 0; i < this.CANMBNBBJBD.Length; i++)
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
break;
}
if (base.FLDILLCDEIB)
{
base.GGJKMDNJNEE.OnMisfire();
break;
}
this.KNLDMMGFJNO(i);
Vector3 normalized = (this.CANMBNBBJBD[i].position - this.barrelTransform.position).normalized;
this.Fire(normalized * this.bulletFireSpeed, (float)i);
yield return this.FDBDGCGIAJI(num);
}
}
else
{
num2 = 0;
while ((float)num2 < this.simpleBurstModeBurstSize)
{
if (!base.GHNELNBFLDC)
{
base.TryPlayOutOfAmmoFeedback();
}
else if (base.FLDILLCDEIB)
{
base.GGJKMDNJNEE.OnMisfire();
}
else
{
this.KNLDMMGFJNO(num2);
this.Fire((float)num2);
}
yield return this.FDBDGCGIAJI(num);
num2++;
}
}
this.HGDODPIFCKP = null;
yield break;
}
// Token: 0x06002F25 RID: 12069 RVA: 0x000EBA00 File Offset: 0x000E9C00
private void OLIOOILPOHB()
{
if (this.HFFAIEENOFH != null)
{
base.StopCoroutine(this.HFFAIEENOFH);
this.HFFAIEENOFH = null;
}
}
// Token: 0x06002F26 RID: 12070 RVA: 0x000EBA20 File Offset: 0x000E9C20
private IEnumerator HFICFJNPBKI(int NMEOKPCPDEE)
{
if (this.kickbackTransform == null)
{
yield break;
}
num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length;
num2 = 1f / this.semiAutomaticFiringRate;
num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized);
num4 = (float)NMEOKPCPDEE * num * -1f;
num5 = 0f;
num6 = 0f;
this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6);
num7 = 0f;
num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6);
while (num7 < num8)
{
num9 = num5 * num7 + 0.5f * num6 * num7 * num7;
this.BKAFKJDDFNM = num4 + num9 * -1f;
yield return null;
num7 += Time.deltaTime;
}
this.BKAFKJDDFNM = 0f;
this.HFFAIEENOFH = null;
yield break;
}
// Token: 0x06002F27 RID: 12071 RVA: 0x000EBA44 File Offset: 0x000E9C44
protected virtual void NJFHLABOMOE(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO);
if (!AOBDBDEHCJO)
{
if (!base.DGLKKANNBPD())
{
this.BGHDIPLOLPF(Mathf.RoundToInt(FNNAAICLLFC));
}
this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 912f, null);
}
}
// Token: 0x06002F29 RID: 12073 RVA: 0x000EBAC4 File Offset: 0x000E9CC4
protected virtual void DDDJHGJFIJL()
{
base.Awake();
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0)
{
Debug.LogError(base.name + "_RaymarchedLight");
}
else
{
this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount];
for (int i = 0; i < this.sprayTargetRoot.childCount; i += 0)
{
this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i);
}
}
}
if (base.BKDFLNGCINH != null)
{
base.BKDFLNGCINH.PEOCFOCDAFL += this.GECLEDKDIOK;
base.BKDFLNGCINH.PHDHDAIGBCC += this.CKCIFFNKDFK;
base.BKDFLNGCINH.FKFCJGKDOBF += this.HODJIHHBKDJ;
}
}
// Token: 0x06002F2A RID: 12074 RVA: 0x000EBBBC File Offset: 0x000E9DBC
private void OIPDGJCBKGC(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP)
{
float num = Mathf.InverseLerp(MCMNIMLKINN, 250f, PKEFCMJJNOH);
float num2 = NNGFEGAEJPG.HCGEDPDBPBG(980f, LLMBKANNAOF, num);
ONDBGEBPLHB = 1670f * num2 / MCMNIMLKINN;
MGMOFAIGIGP = 1765f * ONDBGEBPLHB / GCIGCDDMNCK;
}
// Token: 0x06002F2B RID: 12075 RVA: 0x000EBC00 File Offset: 0x000E9E00
protected override void DIOOKHKDKBB(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO);
if (!AOBDBDEHCJO)
{
if (!base.BHCCHBHNHCG)
{
this.KNLDMMGFJNO(Mathf.RoundToInt(FNNAAICLLFC));
}
this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1f, null);
}
}
// Token: 0x06002F2C RID: 12076 RVA: 0x000EBC40 File Offset: 0x000E9E40
private float CGGNLPOPNGB(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP)
{
float num = 1505f;
float num2 = num - DFFENNKHLLA;
return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 185f, ONDBGEBPLHB, -num2);
}
// Token: 0x06002F2D RID: 12077 RVA: 0x000EBC68 File Offset: 0x000E9E68
private IEnumerator LGJJKKPMCCN(float GKICDGMMPBH)
{
for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime)
{
yield return null;
}
yield break;
}
// Token: 0x06002F2E RID: 12078 RVA: 0x000EBC84 File Offset: 0x000E9E84
protected virtual void FHHAGPDNBKD(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO);
if (!AOBDBDEHCJO)
{
if (!base.IGIPCHFCFNN())
{
this.NNIMOMCMENL(Mathf.RoundToInt(FNNAAICLLFC));
}
this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1133f, null);
}
}
// Token: 0x06002F2F RID: 12079 RVA: 0x000EBCC4 File Offset: 0x000E9EC4
protected virtual void PAKPLLPDIOG()
{
base.Awake();
if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY)
{
if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0)
{
Debug.LogError(base.name + ": Exiting data encode thread");
}
else
{
this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount];
for (int i = 1; i < this.sprayTargetRoot.childCount; i++)
{
this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i);
}
}
}
if (base.BKDFLNGCINH != null)
{
base.BKDFLNGCINH.PEOCFOCDAFL += this.JHCMHEMLHPB;
base.BKDFLNGCINH.PHDHDAIGBCC += this.IBGKJGMGCAB;
base.BKDFLNGCINH.FKFCJGKDOBF += this.GDMBMOIPOOJ;
}
}
// Token: 0x06002F30 RID: 12080 RVA: 0x000EBDBC File Offset: 0x000E9FBC
private void MJLFPPIHMMC(float NOBAPCOKFIL)
{
if (this.kickbackTransform != null)
{
Vector3 localEulerAngles = this.kickbackTransform.localEulerAngles;
localEulerAngles.x = NOBAPCOKFIL;
this.kickbackTransform.localEulerAngles = localEulerAngles;
}
}
// Token: 0x06002F31 RID: 12081 RVA: 0x000EBDFC File Offset: 0x000E9FFC
private IEnumerator BEJLHLCIMFJ(int NMEOKPCPDEE)
{
if (this.kickbackTransform == null)
{
yield break;
}
num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length;
num2 = 1f / this.semiAutomaticFiringRate;
num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized);
num4 = (float)NMEOKPCPDEE * num * -1f;
num5 = 0f;
num6 = 0f;
this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6);
num7 = 0f;
num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6);
while (num7 < num8)
{
num9 = num5 * num7 + 0.5f * num6 * num7 * num7;
this.BKAFKJDDFNM = num4 + num9 * -1f;
yield return null;
num7 += Time.deltaTime;
}
this.BKAFKJDDFNM = 0f;
this.HFFAIEENOFH = null;
yield break;
}
// Token: 0x06002F32 RID: 12082 RVA: 0x000EBE20 File Offset: 0x000EA020
private void CFLCPAFGLBN(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP)
{
float num = Mathf.InverseLerp(MCMNIMLKINN, 1729f, PKEFCMJJNOH);
float num2 = NNGFEGAEJPG.HCGEDPDBPBG(1352f, LLMBKANNAOF, num);
ONDBGEBPLHB = 191f * num2 / MCMNIMLKINN;
MGMOFAIGIGP = 993f * ONDBGEBPLHB / GCIGCDDMNCK;
}
// Token: 0x06002F33 RID: 12083 RVA: 0x000EBE64 File Offset: 0x000EA064
private float EJHNKEOLMOC()
{
float num = 0f;
if (this.kickbackTransform != null)
{
num = this.kickbackTransform.localEulerAngles.x;
if (num > 1196f)
{
num -= 1795f;
}
else if (num < 1300f)
{
num += 587f;
}
}
return num;
}
// Token: 0x06002F34 RID: 12084 RVA: 0x000EBEC8 File Offset: 0x000EA0C8
private void LBOOHCEEMPP(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP)
{
float num = Mathf.InverseLerp(MCMNIMLKINN, 1794f, PKEFCMJJNOH);
float num2 = NNGFEGAEJPG.HCGEDPDBPBG(381f, LLMBKANNAOF, num);
ONDBGEBPLHB = 857f * num2 / MCMNIMLKINN;
MGMOFAIGIGP = 1468f * ONDBGEBPLHB / GCIGCDDMNCK;
}
// Token: 0x06002F35 RID: 12085 RVA: 0x000EBF0C File Offset: 0x000EA10C
protected virtual void KEAPJOKEMKK(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO);
if (!AOBDBDEHCJO)
{
if (!base.IGIPCHFCFNN())
{
this.LHIEGAHKGKH(Mathf.RoundToInt(FNNAAICLLFC));
}
this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1968f, null);
}
}
// Token: 0x04000630 RID: 1584
private const float HMOCCKGAAKG = -1f;
// Token: 0x04000631 RID: 1585
private const float EDDCLEEIHKB = 50f;
// Token: 0x04000632 RID: 1586
[SerializeField]
[Header("Burst")]
private BurstFireGun.EGBMACEFEHF burstMode;
// Token: 0x04000633 RID: 1587
[SerializeField]
private float semiAutomaticFiringRate = 20f;
// Token: 0x04000634 RID: 1588
[Header("Kickback")]
[SerializeField]
private Transform kickbackTransform;
// Token: 0x04000635 RID: 1589
[SerializeField]
private float totalBurstAngle = 5f;
// Token: 0x04000636 RID: 1590
[Header("Kickback Curve")]
private float CAEEJJENONG = 0.25f;
// Token: 0x04000637 RID: 1591
[SerializeField]
private float curveNextShotTimeNormalized = 0.75f;
// Token: 0x04000638 RID: 1592
[SerializeField]
[Header("Simple Burst")]
private float simpleBurstModeBurstSize = 16f;
// Token: 0x04000639 RID: 1593
[SerializeField]
[Header("Spray")]
private bool hasMaxDistance;
// Token: 0x0400063A RID: 1594
[SerializeField]
private float maxDistance = 50f;
// Token: 0x0400063B RID: 1595
[SerializeField]
private Transform sprayTargetRoot;
// Token: 0x0400063C RID: 1596
private Transform[] CANMBNBBJBD;
// Token: 0x0400063D RID: 1597
private Coroutine HGDODPIFCKP;
// Token: 0x0400063E RID: 1598
private Coroutine HFFAIEENOFH;
// Token: 0x020000E9 RID: 233
private enum EGBMACEFEHF
{
// Token: 0x04000640 RID: 1600
SPRAY,
// Token: 0x04000641 RID: 1601
SIMPLE
}
}
}