Files
NobetaSource/Cpp2IL/Assembly-CSharp/Obi/ObiParticleBaker.cs
2023-09-06 22:19:13 +02:00

313 lines
9.0 KiB
C#

using System;
using Cpp2IlInjected;
using UnityEngine;
namespace Obi
{
// Token: 0x02000542 RID: 1346
[Token(Token = "0x2000542")]
[ExecuteInEditMode]
[RequireComponent(typeof(ObiSolver))]
public class ObiParticleBaker : MonoBehaviour
{
// Token: 0x17000334 RID: 820
// (get) Token: 0x06002EDA RID: 11994 RVA: 0x0006690C File Offset: 0x00064B0C
// (set) Token: 0x06002EDB RID: 11995 RVA: 0x00066920 File Offset: 0x00064B20
[Token(Token = "0x17000334")]
public bool Baking
{
[Token(Token = "0x6002EDA")]
[Address(RVA = "0x4920D0", Offset = "0x4910D0", VA = "0x1804920D0")]
get
{
return this.baking;
}
[Token(Token = "0x6002EDB")]
[Address(RVA = "0xE53F60", Offset = "0xE52F60", VA = "0x180E53F60")]
set
{
this.baking = value;
if (!value)
{
this.framesToSkip = (int)((ulong)0L);
Time.captureFramerate = 0;
ObiSolver obiSolver = this.solver;
int renderablePositionsClients = obiSolver.renderablePositionsClients;
if (renderablePositionsClients > 0)
{
obiSolver.renderablePositionsClients = renderablePositionsClients;
}
return;
}
int num = this.fixedBakeFramerate;
Time.captureFramerate = Mathf.Max(0, num);
ObiSolver obiSolver2 = this.solver;
this.playing = false;
obiSolver2.simulate = true;
ObiSolver obiSolver3 = this.solver;
}
}
// Token: 0x17000335 RID: 821
// (get) Token: 0x06002EDC RID: 11996 RVA: 0x00066998 File Offset: 0x00064B98
// (set) Token: 0x06002EDD RID: 11997 RVA: 0x000669AC File Offset: 0x00064BAC
[Token(Token = "0x17000335")]
public bool Playing
{
[Token(Token = "0x6002EDC")]
[Address(RVA = "0x50F1F0", Offset = "0x50E1F0", VA = "0x18050F1F0")]
get
{
return this.playing;
}
[Token(Token = "0x6002EDD")]
[Address(RVA = "0xE53FF0", Offset = "0xE52FF0", VA = "0x180E53FF0")]
set
{
ObiSolver obiSolver = this.solver;
this.playing = value;
obiSolver.simulate = value;
if (this.playing)
{
this.baking = false;
}
}
}
// Token: 0x17000336 RID: 822
// (get) Token: 0x06002EDE RID: 11998 RVA: 0x000669E4 File Offset: 0x00064BE4
// (set) Token: 0x06002EDF RID: 11999 RVA: 0x000669F8 File Offset: 0x00064BF8
[Token(Token = "0x17000336")]
public bool Paused
{
[Token(Token = "0x6002EDE")]
[Address(RVA = "0x892870", Offset = "0x891870", VA = "0x180892870")]
get
{
return this.paused;
}
[Token(Token = "0x6002EDF")]
[Address(RVA = "0x892880", Offset = "0x891880", VA = "0x180892880")]
set
{
this.paused = value;
}
}
// Token: 0x06002EE0 RID: 12000 RVA: 0x00066A0C File Offset: 0x00064C0C
[Token(Token = "0x6002EE0")]
[Address(RVA = "0xE531A0", Offset = "0xE521A0", VA = "0x180E531A0")]
private void Awake()
{
ObiSolver component = base.GetComponent<ObiSolver>();
this.solver = component;
if (Application.isPlaying)
{
if (this.bakeOnAwake)
{
int num = this.fixedBakeFramerate;
int num2 = 0;
this.playhead = 0f;
this.baking = true;
Time.captureFramerate = Mathf.Max(num2, num);
ObiSolver obiSolver = this.solver;
this.playing = false;
obiSolver.simulate = true;
ObiSolver obiSolver2 = this.solver;
return;
}
if (this.playOnAwake)
{
ObiSolver obiSolver3 = this.solver;
this.playhead = 0f;
this.playing = true;
obiSolver3.simulate = false;
if (this.playing)
{
this.baking = false;
}
}
}
}
// Token: 0x06002EE1 RID: 12001 RVA: 0x00066AC4 File Offset: 0x00064CC4
[Token(Token = "0x6002EE1")]
[Address(RVA = "0xE53780", Offset = "0xE52780", VA = "0x180E53780")]
private void OnEnable()
{
ObiSolver obiSolver = this.solver;
EventHandler eventHandler = new EventHandler(this.Solver_OnFrameEnd);
obiSolver.OnFrameEnd += eventHandler;
ObiSolver obiSolver2 = this.solver;
EventHandler eventHandler2 = new EventHandler(this.Solver_OnBeforeActorsFrameEnd);
EventHandler onBeforeActorsFrameEnd = obiSolver2.OnBeforeActorsFrameEnd;
Delegate @delegate = Delegate.Combine(onBeforeActorsFrameEnd, eventHandler2);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onBeforeActorsFrameEnd)
{
}
return;
}
throw new InvalidCastException();
}
// Token: 0x06002EE2 RID: 12002 RVA: 0x00066B30 File Offset: 0x00064D30
[Token(Token = "0x6002EE2")]
[Address(RVA = "0xE53600", Offset = "0xE52600", VA = "0x180E53600")]
private void OnDisable()
{
this.baking = false;
this.framesToSkip = (int)((ulong)0L);
Time.captureFramerate = 0;
ObiSolver obiSolver = this.solver;
int renderablePositionsClients = obiSolver.renderablePositionsClients;
if (renderablePositionsClients > 0)
{
obiSolver.renderablePositionsClients = renderablePositionsClients;
}
EventHandler eventHandler = new EventHandler(this.Solver_OnFrameEnd);
obiSolver.OnFrameEnd -= eventHandler;
ObiSolver obiSolver2 = this.solver;
EventHandler eventHandler2 = new EventHandler(this.Solver_OnBeforeActorsFrameEnd);
EventHandler onBeforeActorsFrameEnd = obiSolver2.OnBeforeActorsFrameEnd;
Delegate @delegate = Delegate.Remove(onBeforeActorsFrameEnd, eventHandler2);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onBeforeActorsFrameEnd)
{
}
return;
}
throw new InvalidCastException();
}
// Token: 0x06002EE3 RID: 12003 RVA: 0x00066BC4 File Offset: 0x00064DC4
[Token(Token = "0x6002EE3")]
[Address(RVA = "0xE53E20", Offset = "0xE52E20", VA = "0x180E53E20")]
private void Solver_OnFrameEnd(object sender, EventArgs e)
{
ObiParticleCache obiParticleCache = this.cache;
int num = 0;
if (obiParticleCache != num && !this.playing && this.baking)
{
float deltaTime = Time.deltaTime;
int num2 = this.framesToSkip;
this.playhead = deltaTime;
if (num2 > 0)
{
this.framesToSkip = num2;
return;
}
this.BakeFrame(deltaTime);
int num3 = this.frameSkip;
this.framesToSkip = num3;
}
}
// Token: 0x06002EE4 RID: 12004 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002EE4")]
[Address(RVA = "0xE53D20", Offset = "0xE52D20", VA = "0x180E53D20")]
private void Solver_OnBeforeActorsFrameEnd(object sender, EventArgs e)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002EE5 RID: 12005 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002EE5")]
[Address(RVA = "0xE53280", Offset = "0xE52280", VA = "0x180E53280")]
public void BakeFrame(float time)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002EE6 RID: 12006 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002EE6")]
[Address(RVA = "0xE538D0", Offset = "0xE528D0", VA = "0x180E538D0")]
private void PlaybackFrame(float time)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002EE7 RID: 12007 RVA: 0x00066C34 File Offset: 0x00064E34
[Token(Token = "0x6002EE7")]
[Address(RVA = "0xE53EE0", Offset = "0xE52EE0", VA = "0x180E53EE0")]
public ObiParticleBaker()
{
ObiParticleCache.Frame frame = new ObiParticleCache.Frame();
this.frame = frame;
base..ctor();
}
// Token: 0x04003766 RID: 14182
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4003766")]
public ObiParticleCache cache;
// Token: 0x04003767 RID: 14183
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4003767")]
public float playhead;
// Token: 0x04003768 RID: 14184
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4003768")]
public int frameSkip = (int)((ulong)8L);
// Token: 0x04003769 RID: 14185
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4003769")]
public int fixedBakeFramerate = (int)((ulong)60L);
// Token: 0x0400376A RID: 14186
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x400376A")]
public bool interpolate = true;
// Token: 0x0400376B RID: 14187
[FieldOffset(Offset = "0x2D")]
[Token(Token = "0x400376B")]
public bool loopPlayback;
// Token: 0x0400376C RID: 14188
[FieldOffset(Offset = "0x2E")]
[Token(Token = "0x400376C")]
public bool bakeOnAwake;
// Token: 0x0400376D RID: 14189
[FieldOffset(Offset = "0x2F")]
[Token(Token = "0x400376D")]
public bool playOnAwake;
// Token: 0x0400376E RID: 14190
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400376E")]
private bool baking;
// Token: 0x0400376F RID: 14191
[FieldOffset(Offset = "0x31")]
[Token(Token = "0x400376F")]
private bool playing;
// Token: 0x04003770 RID: 14192
[FieldOffset(Offset = "0x32")]
[Token(Token = "0x4003770")]
private bool paused;
// Token: 0x04003771 RID: 14193
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4003771")]
private int framesToSkip;
// Token: 0x04003772 RID: 14194
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4003772")]
private ObiSolver solver;
// Token: 0x04003773 RID: 14195
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4003773")]
private ObiParticleCache.Frame frame;
}
}