376 lines
13 KiB
C#
376 lines
13 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using Photon.Pun;
|
|
using RecRoom.Core.Combat;
|
|
using RecRoom.Core.Pools;
|
|
using RecRoom.Networking.SynchronizedFields;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Tools.Weapons
|
|
{
|
|
// Token: 0x02002679 RID: 9849
|
|
[Token(Token = "0x2002679")]
|
|
[StructLayout(3)]
|
|
public class ChargeGun : RangedWeapon
|
|
{
|
|
// Token: 0x17002E64 RID: 11876
|
|
// (get) Token: 0x0601115D RID: 69981 RVA: 0x0040751C File Offset: 0x0040571C
|
|
[Token(Token = "0x17002E64")]
|
|
private float ADANMKIMIOD
|
|
{
|
|
[Token(Token = "0x601115D")]
|
|
[Address(RVA = "0x193C640", Offset = "0x193B040", VA = "0x18193C640")]
|
|
get
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0601115D)
|
|
|
|
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(PhotonNetwork::get_Time))
|
|
}
|
|
|
|
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: 0x17002E65 RID: 11877
|
|
// (get) Token: 0x0601115E RID: 69982 RVA: 0x00407530 File Offset: 0x00405730
|
|
// (set) Token: 0x0601115F RID: 69983 RVA: 0x00407550 File Offset: 0x00405750
|
|
[Token(Token = "0x17002E65")]
|
|
private bool DJNLHFNFIKA
|
|
{
|
|
[Token(Token = "0x601115E")]
|
|
[Address(RVA = "0x193C0F0", Offset = "0x193AAF0", VA = "0x18193C0F0")]
|
|
get
|
|
{
|
|
return this.NLBEOHMNEGO.Get() != null;
|
|
}
|
|
[Token(Token = "0x601115F")]
|
|
[Address(RVA = "0x193C140", Offset = "0x193AB40", VA = "0x18193C140")]
|
|
set
|
|
{
|
|
if (this.NLBEOHMNEGO.Get() == 0)
|
|
{
|
|
SynchronizedField<float> ghbmjkkecpm = this.GHBMJKKECPM;
|
|
double time = PhotonNetwork.Time;
|
|
}
|
|
SynchronizedField<bool> nlbeohmnego = this.NLBEOHMNEGO;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17002E66 RID: 11878
|
|
// (get) Token: 0x06011160 RID: 69984 RVA: 0x00407588 File Offset: 0x00405788
|
|
[Token(Token = "0x17002E66")]
|
|
private float OLEOICPGCFD
|
|
{
|
|
[Token(Token = "0x6011160")]
|
|
[Address(RVA = "0x193BC20", Offset = "0x193A620", VA = "0x18193BC20")]
|
|
get
|
|
{
|
|
double time = PhotonNetwork.Time;
|
|
SynchronizedField<float> ghbmjkkecpm = this.GHBMJKKECPM;
|
|
float num = ghbmjkkecpm.Get();
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x17002E67 RID: 11879
|
|
// (get) Token: 0x06011161 RID: 69985 RVA: 0x004075B4 File Offset: 0x004057B4
|
|
[Token(Token = "0x17002E67")]
|
|
private float BACGDPEOEMN
|
|
{
|
|
[Token(Token = "0x6011161")]
|
|
[Address(RVA = "0x193BF10", Offset = "0x193A910", VA = "0x18193BF10")]
|
|
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: 0x06011162 RID: 69986 RVA: 0x004075F4 File Offset: 0x004057F4
|
|
[Token(Token = "0x6011162")]
|
|
[Address(RVA = "0x193C2B0", Offset = "0x193ACB0", VA = "0x18193C2B0")]
|
|
private void GDPCAAHGLJN(Tool NBHJPDBHDHB)
|
|
{
|
|
if (!base.hasAuthority)
|
|
{
|
|
return;
|
|
}
|
|
if (!base.NOOCGFJOMEM)
|
|
{
|
|
bool isCompleted = ((IAsyncResult)this).IsCompleted;
|
|
return;
|
|
}
|
|
if (!base.MJDHKAHMGMO && !base.LAJLNCJKALH)
|
|
{
|
|
this.DJNLHFNFIKA = true;
|
|
return;
|
|
}
|
|
this._weaponAudio.OnMisfire();
|
|
}
|
|
|
|
// Token: 0x06011163 RID: 69987 RVA: 0x00407648 File Offset: 0x00405848
|
|
[Token(Token = "0x6011163")]
|
|
[Address(RVA = "0x193C3D0", Offset = "0x193ADD0", VA = "0x18193C3D0")]
|
|
private void KBPEKMLDNHC(Tool NBHJPDBHDHB)
|
|
{
|
|
if (base.hasAuthority && this.NLBEOHMNEGO.Get() != 0)
|
|
{
|
|
int num = 0;
|
|
this.DJNLHFNFIKA = num != 0;
|
|
float num2 = this.BACGDPEOEMN;
|
|
bool isCompleted = ((IAsyncResult)this).IsCompleted;
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06011164 RID: 69988 RVA: 0x0040768C File Offset: 0x0040588C
|
|
[Token(Token = "0x6011164")]
|
|
[Address(RVA = "0x193C240", Offset = "0x193AC40", VA = "0x18193C240")]
|
|
private void FIECILCCNFD(Tool NBHJPDBHDHB)
|
|
{
|
|
if (base.hasAuthority && this.NLBEOHMNEGO.Get() != 0)
|
|
{
|
|
int num = 0;
|
|
this.DJNLHFNFIKA = num != 0;
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06011165 RID: 69989 RVA: 0x004076C0 File Offset: 0x004058C0
|
|
[Token(Token = "0x6011165")]
|
|
[Address(RVA = "0x193C690", Offset = "0x193B090", VA = "0x18193C690", 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: 0x06011166 RID: 69990 RVA: 0x004076EC File Offset: 0x004058EC
|
|
[Token(Token = "0x6011166")]
|
|
[Address(RVA = "0x193BCD0", Offset = "0x193A6D0", VA = "0x18193BCD0", Slot = "13")]
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
Action action = new Action(this.LIGHPMIHPCL);
|
|
int num;
|
|
int num2;
|
|
SynchronizedField<bool> synchronizedField = new SynchronizedField(this, "IS_CHARGING", num, (SetterPermissionMode)num2, action, num2);
|
|
num2 = 0;
|
|
num = 0;
|
|
this.NLBEOHMNEGO = synchronizedField;
|
|
SynchronizedField<float> synchronizedField2 = new SynchronizedField(this, "CHARGE_START_TIME", num, (SetterPermissionMode)num2, num2, num2);
|
|
this.GHBMJKKECPM = synchronizedField2;
|
|
Tool tool = this._tool;
|
|
int num3 = 0;
|
|
if (tool != num3)
|
|
{
|
|
Tool tool2 = this._tool;
|
|
ActionEvent<Tool> inputDownEvent = tool2.InputDownEvent;
|
|
Action<Tool> action2 = new Action(this.GDPCAAHGLJN);
|
|
ActionEvent<Tool> actionEvent = inputDownEvent + action2;
|
|
tool2.InputDownEvent = actionEvent;
|
|
Tool tool3 = this._tool;
|
|
ActionEvent<Tool> inputUpEvent = tool3.InputUpEvent;
|
|
Action<Tool> action3 = new Action(this.KBPEKMLDNHC);
|
|
ActionEvent<Tool> actionEvent2 = inputUpEvent + action3;
|
|
tool3.InputUpEvent = actionEvent2;
|
|
Tool tool4 = this._tool;
|
|
ActionEvent<Tool> inputCancelledEvent = tool4.InputCancelledEvent;
|
|
Action<Tool> action4 = new Action(this.FIECILCCNFD);
|
|
ActionEvent<Tool> actionEvent3 = inputCancelledEvent + action4;
|
|
tool4.InputCancelledEvent = actionEvent3;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06011167 RID: 69991 RVA: 0x004077FC File Offset: 0x004059FC
|
|
[Token(Token = "0x6011167")]
|
|
[Address(RVA = "0x193C7D0", Offset = "0x193B1D0", VA = "0x18193C7D0", Slot = "14")]
|
|
protected override void OnDestroy()
|
|
{
|
|
base.OnDestroy();
|
|
Tool tool = this._tool;
|
|
int num = 0;
|
|
if (tool != num)
|
|
{
|
|
Tool tool2 = this._tool;
|
|
ActionEvent<Tool> inputDownEvent = tool2.InputDownEvent;
|
|
Action<Tool> action = new Action(this.GDPCAAHGLJN);
|
|
ActionEvent<Tool> actionEvent = inputDownEvent - action;
|
|
tool2.InputDownEvent = actionEvent;
|
|
Tool tool3 = this._tool;
|
|
ActionEvent<Tool> inputUpEvent = tool3.InputUpEvent;
|
|
Action<Tool> action2 = new Action(this.KBPEKMLDNHC);
|
|
ActionEvent<Tool> actionEvent2 = inputUpEvent - action2;
|
|
tool3.InputUpEvent = actionEvent2;
|
|
Tool tool4 = this._tool;
|
|
ActionEvent<Tool> inputCancelledEvent = tool4.InputCancelledEvent;
|
|
Action<Tool> action3 = new Action(this.FIECILCCNFD);
|
|
ActionEvent<Tool> actionEvent3 = inputCancelledEvent - action3;
|
|
tool4.InputCancelledEvent = actionEvent3;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06011168 RID: 69992 RVA: 0x004078C0 File Offset: 0x00405AC0
|
|
[Token(Token = "0x6011168")]
|
|
[Address(RVA = "0x193C960", Offset = "0x193B360", VA = "0x18193C960", Slot = "17")]
|
|
protected override void Start()
|
|
{
|
|
base.Start();
|
|
this.LIGHPMIHPCL();
|
|
}
|
|
|
|
// Token: 0x06011169 RID: 69993 RVA: 0x004078DC File Offset: 0x00405ADC
|
|
[Token(Token = "0x6011169")]
|
|
[Address(RVA = "0x193C460", Offset = "0x193AE60", VA = "0x18193C460")]
|
|
private void LIGHPMIHPCL()
|
|
{
|
|
if (this.NLBEOHMNEGO.Get() == 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: 0x0601116A RID: 69994 RVA: 0x004079AC File Offset: 0x00405BAC
|
|
[Token(Token = "0x601116A")]
|
|
[Address(RVA = "0x193C980", Offset = "0x193B380", VA = "0x18193C980")]
|
|
private void Update()
|
|
{
|
|
if (this.NLBEOHMNEGO.Get() != 0)
|
|
{
|
|
float num = this.BACGDPEOEMN;
|
|
if (!this._weaponAudio.LIBPLCAGHKI)
|
|
{
|
|
this._weaponAudio.OnStopCharge();
|
|
this._weaponAudio.OnFullyChargedLoopStart();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0601116B RID: 69995 RVA: 0x004079FC File Offset: 0x00405BFC
|
|
[Token(Token = "0x601116B")]
|
|
[Address(RVA = "0x193BFC0", Offset = "0x193A9C0", VA = "0x18193BFC0")]
|
|
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: 0x0601116C RID: 69996 RVA: 0x00407A78 File Offset: 0x00405C78
|
|
[Token(Token = "0x601116C")]
|
|
[Address(RVA = "0x193C340", Offset = "0x193AD40", VA = "0x18193C340")]
|
|
private void IOJDCBKBPKC()
|
|
{
|
|
PooledParticle oihjpcbjpmh = this.OIHJPCBJPMH;
|
|
int num = 0;
|
|
if (oihjpcbjpmh != num)
|
|
{
|
|
this.OIHJPCBJPMH.Stop();
|
|
this.OIHJPCBJPMH = (ulong)0L;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0601116D RID: 69997 RVA: 0x00407AB4 File Offset: 0x00405CB4
|
|
[Token(Token = "0x601116D")]
|
|
[Address(RVA = "0x193CA20", Offset = "0x193B420", VA = "0x18193CA20")]
|
|
public ChargeGun()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400B5B6 RID: 46518
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2E8")]
|
|
[Token(Token = "0x400B5B6")]
|
|
[SerializeField]
|
|
[Header("Charging")]
|
|
private float maxChargeTime = 2.5f;
|
|
|
|
// Token: 0x0400B5B7 RID: 46519
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2F0")]
|
|
[Token(Token = "0x400B5B7")]
|
|
[SerializeField]
|
|
private AnimationCurve chargeCurve;
|
|
|
|
// Token: 0x0400B5B8 RID: 46520
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2F8")]
|
|
[Token(Token = "0x400B5B8")]
|
|
[SerializeField]
|
|
private PooledParticle chargeParticlePrefab;
|
|
|
|
// Token: 0x0400B5B9 RID: 46521
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x300")]
|
|
[Token(Token = "0x400B5B9")]
|
|
private SynchronizedField<bool> NLBEOHMNEGO;
|
|
|
|
// Token: 0x0400B5BA RID: 46522
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x308")]
|
|
[Token(Token = "0x400B5BA")]
|
|
private SynchronizedField<float> GHBMJKKECPM;
|
|
|
|
// Token: 0x0400B5BB RID: 46523
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x310")]
|
|
[Token(Token = "0x400B5BB")]
|
|
private PooledParticle OIHJPCBJPMH;
|
|
}
|
|
}
|