373 lines
13 KiB
C#
373 lines
13 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using RecRoom.Core.Combat;
|
|
using RecRoom.Core.Pools;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Tools.Weapons
|
|
{
|
|
// Token: 0x02002C4D RID: 11341
|
|
[Token(Token = "0x2002C4D")]
|
|
public class ChargeGun : RangedWeapon
|
|
{
|
|
// Token: 0x170034DE RID: 13534
|
|
// (get) Token: 0x06012F1B RID: 77595 RVA: 0x00452A74 File Offset: 0x00450C74
|
|
[Token(Token = "0x170034DE")]
|
|
private float ADANMKIMIOD
|
|
{
|
|
[Token(Token = "0x6012F1B")]
|
|
[Address(RVA = "0x1D2C150", Offset = "0x1D2B150", VA = "0x181D2C150")]
|
|
get
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06012F1B)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single RecRoom.Tools.Weapons.ChargeGun::ODGLMJEGEPC()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:float64(var_1_07, callgetter:float64(KKPBCOOONNK::MLNCKCNEANC))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170034DF RID: 13535
|
|
// (get) Token: 0x06012F1C RID: 77596 RVA: 0x00452A88 File Offset: 0x00450C88
|
|
// (set) Token: 0x06012F1D RID: 77597 RVA: 0x00452AA8 File Offset: 0x00450CA8
|
|
[Token(Token = "0x170034DF")]
|
|
private bool DJNLHFNFIKA
|
|
{
|
|
[Token(Token = "0x6012F1C")]
|
|
[Address(RVA = "0x1D2BC00", Offset = "0x1D2AC00", VA = "0x181D2BC00")]
|
|
get
|
|
{
|
|
return this.NLBEOHMNEGO.IAHDANBDAAM() != null;
|
|
}
|
|
[Token(Token = "0x6012F1D")]
|
|
[Address(RVA = "0x1D2BC50", Offset = "0x1D2AC50", VA = "0x181D2BC50")]
|
|
set
|
|
{
|
|
if (this.NLBEOHMNEGO.IAHDANBDAAM() == 0)
|
|
{
|
|
KLLMCPFPIIE<float> ghbmjkkecpm = this.GHBMJKKECPM;
|
|
double num = KKPBCOOONNK.EDNCMGJJLIH;
|
|
throw new NullReferenceException();
|
|
}
|
|
KLLMCPFPIIE<bool> nlbeohmnego = this.NLBEOHMNEGO;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170034E0 RID: 13536
|
|
// (get) Token: 0x06012F1E RID: 77598 RVA: 0x00452AE8 File Offset: 0x00450CE8
|
|
[Token(Token = "0x170034E0")]
|
|
private float OLEOICPGCFD
|
|
{
|
|
[Token(Token = "0x6012F1E")]
|
|
[Address(RVA = "0x1D2B730", Offset = "0x1D2A730", VA = "0x181D2B730")]
|
|
get
|
|
{
|
|
double num = KKPBCOOONNK.EDNCMGJJLIH;
|
|
KLLMCPFPIIE<float> ghbmjkkecpm = this.GHBMJKKECPM;
|
|
float num2 = ghbmjkkecpm.IAHDANBDAAM();
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x170034E1 RID: 13537
|
|
// (get) Token: 0x06012F1F RID: 77599 RVA: 0x00452B14 File Offset: 0x00450D14
|
|
[Token(Token = "0x170034E1")]
|
|
private float BACGDPEOEMN
|
|
{
|
|
[Token(Token = "0x6012F1F")]
|
|
[Address(RVA = "0x1D2BA20", Offset = "0x1D2AA20", VA = "0x181D2BA20")]
|
|
get
|
|
{
|
|
float num = this.maxChargeTime;
|
|
float num2 = this.OLEOICPGCFD;
|
|
float num3 = Mathf.InverseLerp((float)0, num, num2);
|
|
AnimationCurve animationCurve = this.chargeCurve;
|
|
num = num3;
|
|
return Mathf.Clamp01(animationCurve.Evaluate(num));
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012F20 RID: 77600 RVA: 0x00452B54 File Offset: 0x00450D54
|
|
[Token(Token = "0x6012F20")]
|
|
[Address(RVA = "0x1D2BDC0", Offset = "0x1D2ADC0", VA = "0x181D2BDC0")]
|
|
private void GDPCAAHGLJN(Tool NBHJPDBHDHB)
|
|
{
|
|
if (!base.OGIBLNIIHDK)
|
|
{
|
|
return;
|
|
}
|
|
if (!base.NOOCGFJOMEM)
|
|
{
|
|
Color color = base.EPDNPLLEPOH;
|
|
return;
|
|
}
|
|
if (!base.MJDHKAHMGMO && !base.LAJLNCJKALH)
|
|
{
|
|
this.DJNLHFNFIKA = true;
|
|
return;
|
|
}
|
|
this._weaponAudio.OnMisfire();
|
|
}
|
|
|
|
// Token: 0x06012F21 RID: 77601 RVA: 0x00452BA8 File Offset: 0x00450DA8
|
|
[Token(Token = "0x6012F21")]
|
|
[Address(RVA = "0x1D2BEE0", Offset = "0x1D2AEE0", VA = "0x181D2BEE0")]
|
|
private void KBPEKMLDNHC(Tool NBHJPDBHDHB)
|
|
{
|
|
if (base.OGIBLNIIHDK && this.NLBEOHMNEGO.IAHDANBDAAM() != 0)
|
|
{
|
|
int num = 0;
|
|
this.DJNLHFNFIKA = num != 0;
|
|
float num2 = this.BACGDPEOEMN;
|
|
Color color = base.EPDNPLLEPOH;
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012F22 RID: 77602 RVA: 0x00452BEC File Offset: 0x00450DEC
|
|
[Token(Token = "0x6012F22")]
|
|
[Address(RVA = "0x1D2BD50", Offset = "0x1D2AD50", VA = "0x181D2BD50")]
|
|
private void FIECILCCNFD(Tool NBHJPDBHDHB)
|
|
{
|
|
if (base.OGIBLNIIHDK && this.NLBEOHMNEGO.IAHDANBDAAM() != 0)
|
|
{
|
|
int num = 0;
|
|
this.DJNLHFNFIKA = num != 0;
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012F23 RID: 77603 RVA: 0x00452C20 File Offset: 0x00450E20
|
|
[Token(Token = "0x6012F23")]
|
|
[Address(RVA = "0x1D2C1A0", Offset = "0x1D2B1A0", VA = "0x181D2C1A0", Slot = "42")]
|
|
protected override void OICJPFPBIIK(Vector3 DDHPAFKBMON, Quaternion IGPENJBJADK, Vector3 NHAOMEMANJA, float LFDFFDCJAAD, bool FLKHKHDBIOH, byte LNPHJIHHNPN)
|
|
{
|
|
float z = NHAOMEMANJA.z;
|
|
float z2 = DDHPAFKBMON.z;
|
|
float z3 = NHAOMEMANJA.z;
|
|
float z4 = DDHPAFKBMON.z;
|
|
}
|
|
|
|
// Token: 0x06012F24 RID: 77604 RVA: 0x00452C4C File Offset: 0x00450E4C
|
|
[Token(Token = "0x6012F24")]
|
|
[Address(RVA = "0x1D2B7E0", Offset = "0x1D2A7E0", VA = "0x181D2B7E0", Slot = "13")]
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
Action action = new Action(this.LIGHPMIHPCL);
|
|
int num;
|
|
int num2;
|
|
KLLMCPFPIIE<bool> kllmcpfpiie = new KLLMCPFPIIE(this, "IS_CHARGING", num, (OHOEENCHJJE)num2, action, num2);
|
|
num2 = 0;
|
|
num = 0;
|
|
this.NLBEOHMNEGO = kllmcpfpiie;
|
|
KLLMCPFPIIE<float> kllmcpfpiie2 = new KLLMCPFPIIE(this, "CHARGE_START_TIME", num, (OHOEENCHJJE)num2, num2, num2);
|
|
this.GHBMJKKECPM = kllmcpfpiie2;
|
|
Tool tool = this._tool;
|
|
int num3 = 0;
|
|
if (tool != num3)
|
|
{
|
|
Tool tool2 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputDownEvent = tool2.InputDownEvent;
|
|
Action<Tool> action2 = new Action(this.GDPCAAHGLJN);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(inputDownEvent, action2);
|
|
tool2.InputDownEvent = mfbglihgcgo;
|
|
Tool tool3 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputUpEvent = tool3.InputUpEvent;
|
|
Action<Tool> action3 = new Action(this.KBPEKMLDNHC);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo2 = MFBGLIHGCGO.BPJDFPACLMK(inputUpEvent, action3);
|
|
tool3.InputUpEvent = mfbglihgcgo2;
|
|
Tool tool4 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputCancelledEvent = tool4.InputCancelledEvent;
|
|
Action<Tool> action4 = new Action(this.FIECILCCNFD);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo3 = MFBGLIHGCGO.BPJDFPACLMK(inputCancelledEvent, action4);
|
|
tool4.InputCancelledEvent = mfbglihgcgo3;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012F25 RID: 77605 RVA: 0x00452D5C File Offset: 0x00450F5C
|
|
[Token(Token = "0x6012F25")]
|
|
[Address(RVA = "0x1D2C2E0", Offset = "0x1D2B2E0", VA = "0x181D2C2E0", Slot = "14")]
|
|
protected override void OnDestroy()
|
|
{
|
|
base.OnDestroy();
|
|
Tool tool = this._tool;
|
|
int num = 0;
|
|
if (tool != num)
|
|
{
|
|
Tool tool2 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputDownEvent = tool2.InputDownEvent;
|
|
Action<Tool> action = new Action(this.GDPCAAHGLJN);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(inputDownEvent, action);
|
|
tool2.InputDownEvent = mfbglihgcgo;
|
|
Tool tool3 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputUpEvent = tool3.InputUpEvent;
|
|
Action<Tool> action2 = new Action(this.KBPEKMLDNHC);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo2 = MFBGLIHGCGO.GMNMHGMFGOL(inputUpEvent, action2);
|
|
tool3.InputUpEvent = mfbglihgcgo2;
|
|
Tool tool4 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputCancelledEvent = tool4.InputCancelledEvent;
|
|
Action<Tool> action3 = new Action(this.FIECILCCNFD);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo3 = MFBGLIHGCGO.GMNMHGMFGOL(inputCancelledEvent, action3);
|
|
tool4.InputCancelledEvent = mfbglihgcgo3;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012F26 RID: 77606 RVA: 0x00452E20 File Offset: 0x00451020
|
|
[Token(Token = "0x6012F26")]
|
|
[Address(RVA = "0x1D2C470", Offset = "0x1D2B470", VA = "0x181D2C470", Slot = "17")]
|
|
protected override void Start()
|
|
{
|
|
base.Start();
|
|
this.LIGHPMIHPCL();
|
|
}
|
|
|
|
// Token: 0x06012F27 RID: 77607 RVA: 0x00452E3C File Offset: 0x0045103C
|
|
[Token(Token = "0x6012F27")]
|
|
[Address(RVA = "0x1D2BF70", Offset = "0x1D2AF70", VA = "0x181D2BF70")]
|
|
private void LIGHPMIHPCL()
|
|
{
|
|
if (this.NLBEOHMNEGO.IAHDANBDAAM() == 0)
|
|
{
|
|
this.IOJDCBKBPKC();
|
|
this._weaponAudio.OnStopCharge();
|
|
if (this._weaponAudio.LIBPLCAGHKI)
|
|
{
|
|
this._weaponAudio.OnFullyChargedLoopStop();
|
|
}
|
|
return;
|
|
}
|
|
this.IOJDCBKBPKC();
|
|
PooledParticle pooledParticle = this.chargeParticlePrefab;
|
|
int num = 0;
|
|
if (pooledParticle != num)
|
|
{
|
|
GlobalPool instance = GlobalPool.ONCPNMDGGKG;
|
|
PooledParticle pooledParticle2 = this.chargeParticlePrefab;
|
|
PooledParticle pooledParticle3 = instance.Acquire<PooledParticle>(pooledParticle2);
|
|
this.OIHJPCBJPMH = pooledParticle3;
|
|
int num2 = 0;
|
|
if (pooledParticle3 != num2)
|
|
{
|
|
PooledParticle oihjpcbjpmh = this.OIHJPCBJPMH;
|
|
Transform muzzleFlashOrigin = this.muzzleFlashOrigin;
|
|
oihjpcbjpmh.Play(muzzleFlashOrigin, true, -1f);
|
|
}
|
|
}
|
|
WeaponAudio weaponAudio = this._weaponAudio;
|
|
float num3 = this.OLEOICPGCFD;
|
|
weaponAudio.OnCharge(num3);
|
|
}
|
|
|
|
// Token: 0x06012F28 RID: 77608 RVA: 0x00452F0C File Offset: 0x0045110C
|
|
[Token(Token = "0x6012F28")]
|
|
[Address(RVA = "0x1D2C490", Offset = "0x1D2B490", VA = "0x181D2C490")]
|
|
private void Update()
|
|
{
|
|
if (this.NLBEOHMNEGO.IAHDANBDAAM() != 0)
|
|
{
|
|
float num = this.BACGDPEOEMN;
|
|
if (!this._weaponAudio.LIBPLCAGHKI)
|
|
{
|
|
this._weaponAudio.OnStopCharge();
|
|
this._weaponAudio.OnFullyChargedLoopStart();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012F29 RID: 77609 RVA: 0x00452F5C File Offset: 0x0045115C
|
|
[Token(Token = "0x6012F29")]
|
|
[Address(RVA = "0x1D2BAD0", Offset = "0x1D2AAD0", VA = "0x181D2BAD0")]
|
|
private void CHMFCMEABBC()
|
|
{
|
|
this.IOJDCBKBPKC();
|
|
PooledParticle pooledParticle = this.chargeParticlePrefab;
|
|
int num = 0;
|
|
if (pooledParticle != num)
|
|
{
|
|
GlobalPool instance = GlobalPool.ONCPNMDGGKG;
|
|
PooledParticle pooledParticle2 = this.chargeParticlePrefab;
|
|
PooledParticle pooledParticle3 = instance.Acquire<PooledParticle>(pooledParticle2);
|
|
this.OIHJPCBJPMH = pooledParticle3;
|
|
int num2 = 0;
|
|
if (pooledParticle3 != num2)
|
|
{
|
|
PooledParticle oihjpcbjpmh = this.OIHJPCBJPMH;
|
|
Transform muzzleFlashOrigin = this.muzzleFlashOrigin;
|
|
oihjpcbjpmh.Play(muzzleFlashOrigin, true, -1f);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012F2A RID: 77610 RVA: 0x00452FD8 File Offset: 0x004511D8
|
|
[Token(Token = "0x6012F2A")]
|
|
[Address(RVA = "0x1D2BE50", Offset = "0x1D2AE50", VA = "0x181D2BE50")]
|
|
private void IOJDCBKBPKC()
|
|
{
|
|
PooledParticle oihjpcbjpmh = this.OIHJPCBJPMH;
|
|
int num = 0;
|
|
if (oihjpcbjpmh != num)
|
|
{
|
|
this.OIHJPCBJPMH.Stop();
|
|
this.OIHJPCBJPMH = (ulong)0L;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012F2B RID: 77611 RVA: 0x00453014 File Offset: 0x00451214
|
|
[Token(Token = "0x6012F2B")]
|
|
[Address(RVA = "0x1D2C530", Offset = "0x1D2B530", VA = "0x181D2C530")]
|
|
public ChargeGun()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400C324 RID: 49956
|
|
[FieldOffset(Offset = "0x2F0")]
|
|
[Token(Token = "0x400C324")]
|
|
[SerializeField]
|
|
[Header("Charging")]
|
|
private float maxChargeTime = 2.5f;
|
|
|
|
// Token: 0x0400C325 RID: 49957
|
|
[FieldOffset(Offset = "0x2F8")]
|
|
[Token(Token = "0x400C325")]
|
|
[SerializeField]
|
|
private AnimationCurve chargeCurve;
|
|
|
|
// Token: 0x0400C326 RID: 49958
|
|
[FieldOffset(Offset = "0x300")]
|
|
[Token(Token = "0x400C326")]
|
|
[SerializeField]
|
|
private PooledParticle chargeParticlePrefab;
|
|
|
|
// Token: 0x0400C327 RID: 49959
|
|
[FieldOffset(Offset = "0x308")]
|
|
[Token(Token = "0x400C327")]
|
|
private KLLMCPFPIIE<bool> NLBEOHMNEGO;
|
|
|
|
// Token: 0x0400C328 RID: 49960
|
|
[FieldOffset(Offset = "0x310")]
|
|
[Token(Token = "0x400C328")]
|
|
private KLLMCPFPIIE<float> GHBMJKKECPM;
|
|
|
|
// Token: 0x0400C329 RID: 49961
|
|
[FieldOffset(Offset = "0x318")]
|
|
[Token(Token = "0x400C329")]
|
|
private PooledParticle OIHJPCBJPMH;
|
|
}
|
|
}
|