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

313 lines
9.0 KiB
C#

using System;
using Cpp2IlInjected;
using UnityEngine;
namespace Obi
{
// Token: 0x020004F3 RID: 1267
[Token(Token = "0x20004F3")]
[ExecuteInEditMode]
[RequireComponent(typeof(ObiSolver))]
public class ObiParticleBaker : MonoBehaviour
{
// Token: 0x17000309 RID: 777
// (get) Token: 0x06002C43 RID: 11331 RVA: 0x0005F9E0 File Offset: 0x0005DBE0
// (set) Token: 0x06002C44 RID: 11332 RVA: 0x0005F9F4 File Offset: 0x0005DBF4
[Token(Token = "0x17000309")]
public bool Baking
{
[Token(Token = "0x6002C43")]
[Address(RVA = "0x477710", Offset = "0x475F10", VA = "0x180477710")]
get
{
return this.baking;
}
[Token(Token = "0x6002C44")]
[Address(RVA = "0xE71280", Offset = "0xE6FA80", VA = "0x180E71280")]
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: 0x1700030A RID: 778
// (get) Token: 0x06002C45 RID: 11333 RVA: 0x0005FA6C File Offset: 0x0005DC6C
// (set) Token: 0x06002C46 RID: 11334 RVA: 0x0005FA80 File Offset: 0x0005DC80
[Token(Token = "0x1700030A")]
public bool Playing
{
[Token(Token = "0x6002C45")]
[Address(RVA = "0x477720", Offset = "0x475F20", VA = "0x180477720")]
get
{
return this.playing;
}
[Token(Token = "0x6002C46")]
[Address(RVA = "0xE71310", Offset = "0xE6FB10", VA = "0x180E71310")]
set
{
ObiSolver obiSolver = this.solver;
this.playing = value;
obiSolver.simulate = value;
if (this.playing)
{
this.baking = false;
}
}
}
// Token: 0x1700030B RID: 779
// (get) Token: 0x06002C47 RID: 11335 RVA: 0x0005FAB8 File Offset: 0x0005DCB8
// (set) Token: 0x06002C48 RID: 11336 RVA: 0x0005FACC File Offset: 0x0005DCCC
[Token(Token = "0x1700030B")]
public bool Paused
{
[Token(Token = "0x6002C47")]
[Address(RVA = "0x8A96A0", Offset = "0x8A7EA0", VA = "0x1808A96A0")]
get
{
return this.paused;
}
[Token(Token = "0x6002C48")]
[Address(RVA = "0x8A96B0", Offset = "0x8A7EB0", VA = "0x1808A96B0")]
set
{
this.paused = value;
}
}
// Token: 0x06002C49 RID: 11337 RVA: 0x0005FAE0 File Offset: 0x0005DCE0
[Token(Token = "0x6002C49")]
[Address(RVA = "0xE704C0", Offset = "0xE6ECC0", VA = "0x180E704C0")]
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: 0x06002C4A RID: 11338 RVA: 0x0005FB98 File Offset: 0x0005DD98
[Token(Token = "0x6002C4A")]
[Address(RVA = "0xE70AA0", Offset = "0xE6F2A0", VA = "0x180E70AA0")]
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: 0x06002C4B RID: 11339 RVA: 0x0005FC04 File Offset: 0x0005DE04
[Token(Token = "0x6002C4B")]
[Address(RVA = "0xE70920", Offset = "0xE6F120", VA = "0x180E70920")]
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: 0x06002C4C RID: 11340 RVA: 0x0005FC98 File Offset: 0x0005DE98
[Token(Token = "0x6002C4C")]
[Address(RVA = "0xE71140", Offset = "0xE6F940", VA = "0x180E71140")]
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: 0x06002C4D RID: 11341 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002C4D")]
[Address(RVA = "0xE71040", Offset = "0xE6F840", VA = "0x180E71040")]
private void Solver_OnBeforeActorsFrameEnd(object sender, EventArgs e)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002C4E RID: 11342 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002C4E")]
[Address(RVA = "0xE705A0", Offset = "0xE6EDA0", VA = "0x180E705A0")]
public void BakeFrame(float time)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002C4F RID: 11343 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002C4F")]
[Address(RVA = "0xE70BF0", Offset = "0xE6F3F0", VA = "0x180E70BF0")]
private void PlaybackFrame(float time)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002C50 RID: 11344 RVA: 0x0005FD08 File Offset: 0x0005DF08
[Token(Token = "0x6002C50")]
[Address(RVA = "0xE71200", Offset = "0xE6FA00", VA = "0x180E71200")]
public ObiParticleBaker()
{
ObiParticleCache.Frame frame = new ObiParticleCache.Frame();
this.frame = frame;
base..ctor();
}
// Token: 0x040034BE RID: 13502
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40034BE")]
public ObiParticleCache cache;
// Token: 0x040034BF RID: 13503
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40034BF")]
public float playhead;
// Token: 0x040034C0 RID: 13504
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x40034C0")]
public int frameSkip = (int)((ulong)8L);
// Token: 0x040034C1 RID: 13505
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40034C1")]
public int fixedBakeFramerate = (int)((ulong)60L);
// Token: 0x040034C2 RID: 13506
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40034C2")]
public bool interpolate = true;
// Token: 0x040034C3 RID: 13507
[FieldOffset(Offset = "0x2D")]
[Token(Token = "0x40034C3")]
public bool loopPlayback;
// Token: 0x040034C4 RID: 13508
[FieldOffset(Offset = "0x2E")]
[Token(Token = "0x40034C4")]
public bool bakeOnAwake;
// Token: 0x040034C5 RID: 13509
[FieldOffset(Offset = "0x2F")]
[Token(Token = "0x40034C5")]
public bool playOnAwake;
// Token: 0x040034C6 RID: 13510
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40034C6")]
private bool baking;
// Token: 0x040034C7 RID: 13511
[FieldOffset(Offset = "0x31")]
[Token(Token = "0x40034C7")]
private bool playing;
// Token: 0x040034C8 RID: 13512
[FieldOffset(Offset = "0x32")]
[Token(Token = "0x40034C8")]
private bool paused;
// Token: 0x040034C9 RID: 13513
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x40034C9")]
private int framesToSkip;
// Token: 0x040034CA RID: 13514
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40034CA")]
private ObiSolver solver;
// Token: 0x040034CB RID: 13515
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40034CB")]
private ObiParticleCache.Frame frame;
}
}