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

313 lines
9.0 KiB
C#

using System;
using Cpp2IlInjected;
using UnityEngine;
namespace Obi
{
// Token: 0x020004EA RID: 1258
[Token(Token = "0x20004EA")]
[ExecuteInEditMode]
[RequireComponent(typeof(ObiSolver))]
public class ObiParticleBaker : MonoBehaviour
{
// Token: 0x1700030F RID: 783
// (get) Token: 0x06002C11 RID: 11281 RVA: 0x0005F678 File Offset: 0x0005D878
// (set) Token: 0x06002C12 RID: 11282 RVA: 0x0005F68C File Offset: 0x0005D88C
[Token(Token = "0x1700030F")]
public bool Baking
{
[Token(Token = "0x6002C11")]
[Address(RVA = "0x434D40", Offset = "0x433B40", VA = "0x180434D40")]
get
{
return this.baking;
}
[Token(Token = "0x6002C12")]
[Address(RVA = "0xD22DF0", Offset = "0xD21BF0", VA = "0x180D22DF0")]
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: 0x17000310 RID: 784
// (get) Token: 0x06002C13 RID: 11283 RVA: 0x0005F704 File Offset: 0x0005D904
// (set) Token: 0x06002C14 RID: 11284 RVA: 0x0005F718 File Offset: 0x0005D918
[Token(Token = "0x17000310")]
public bool Playing
{
[Token(Token = "0x6002C13")]
[Address(RVA = "0x434D50", Offset = "0x433B50", VA = "0x180434D50")]
get
{
return this.playing;
}
[Token(Token = "0x6002C14")]
[Address(RVA = "0xD22E80", Offset = "0xD21C80", VA = "0x180D22E80")]
set
{
ObiSolver obiSolver = this.solver;
this.playing = value;
obiSolver.simulate = value;
if (this.playing)
{
this.baking = false;
}
}
}
// Token: 0x17000311 RID: 785
// (get) Token: 0x06002C15 RID: 11285 RVA: 0x0005F750 File Offset: 0x0005D950
// (set) Token: 0x06002C16 RID: 11286 RVA: 0x0005F764 File Offset: 0x0005D964
[Token(Token = "0x17000311")]
public bool Paused
{
[Token(Token = "0x6002C15")]
[Address(RVA = "0x815040", Offset = "0x813E40", VA = "0x180815040")]
get
{
return this.paused;
}
[Token(Token = "0x6002C16")]
[Address(RVA = "0x815050", Offset = "0x813E50", VA = "0x180815050")]
set
{
this.paused = value;
}
}
// Token: 0x06002C17 RID: 11287 RVA: 0x0005F778 File Offset: 0x0005D978
[Token(Token = "0x6002C17")]
[Address(RVA = "0xD22030", Offset = "0xD20E30", VA = "0x180D22030")]
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: 0x06002C18 RID: 11288 RVA: 0x0005F830 File Offset: 0x0005DA30
[Token(Token = "0x6002C18")]
[Address(RVA = "0xD22610", Offset = "0xD21410", VA = "0x180D22610")]
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: 0x06002C19 RID: 11289 RVA: 0x0005F89C File Offset: 0x0005DA9C
[Token(Token = "0x6002C19")]
[Address(RVA = "0xD22490", Offset = "0xD21290", VA = "0x180D22490")]
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: 0x06002C1A RID: 11290 RVA: 0x0005F930 File Offset: 0x0005DB30
[Token(Token = "0x6002C1A")]
[Address(RVA = "0xD22CB0", Offset = "0xD21AB0", VA = "0x180D22CB0")]
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: 0x06002C1B RID: 11291 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002C1B")]
[Address(RVA = "0xD22BB0", Offset = "0xD219B0", VA = "0x180D22BB0")]
private void Solver_OnBeforeActorsFrameEnd(object sender, EventArgs e)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002C1C RID: 11292 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002C1C")]
[Address(RVA = "0xD22110", Offset = "0xD20F10", VA = "0x180D22110")]
public void BakeFrame(float time)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002C1D RID: 11293 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002C1D")]
[Address(RVA = "0xD22760", Offset = "0xD21560", VA = "0x180D22760")]
private void PlaybackFrame(float time)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002C1E RID: 11294 RVA: 0x0005F9A0 File Offset: 0x0005DBA0
[Token(Token = "0x6002C1E")]
[Address(RVA = "0xD22D70", Offset = "0xD21B70", VA = "0x180D22D70")]
public ObiParticleBaker()
{
ObiParticleCache.Frame frame = new ObiParticleCache.Frame();
this.frame = frame;
base..ctor();
}
// Token: 0x0400347C RID: 13436
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400347C")]
public ObiParticleCache cache;
// Token: 0x0400347D RID: 13437
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400347D")]
public float playhead;
// Token: 0x0400347E RID: 13438
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x400347E")]
public int frameSkip = (int)((ulong)8L);
// Token: 0x0400347F RID: 13439
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400347F")]
public int fixedBakeFramerate = (int)((ulong)60L);
// Token: 0x04003480 RID: 13440
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4003480")]
public bool interpolate = true;
// Token: 0x04003481 RID: 13441
[FieldOffset(Offset = "0x2D")]
[Token(Token = "0x4003481")]
public bool loopPlayback;
// Token: 0x04003482 RID: 13442
[FieldOffset(Offset = "0x2E")]
[Token(Token = "0x4003482")]
public bool bakeOnAwake;
// Token: 0x04003483 RID: 13443
[FieldOffset(Offset = "0x2F")]
[Token(Token = "0x4003483")]
public bool playOnAwake;
// Token: 0x04003484 RID: 13444
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4003484")]
private bool baking;
// Token: 0x04003485 RID: 13445
[FieldOffset(Offset = "0x31")]
[Token(Token = "0x4003485")]
private bool playing;
// Token: 0x04003486 RID: 13446
[FieldOffset(Offset = "0x32")]
[Token(Token = "0x4003486")]
private bool paused;
// Token: 0x04003487 RID: 13447
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4003487")]
private int framesToSkip;
// Token: 0x04003488 RID: 13448
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4003488")]
private ObiSolver solver;
// Token: 0x04003489 RID: 13449
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4003489")]
private ObiParticleCache.Frame frame;
}
}