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(); 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; } }