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

185 lines
7.4 KiB
C#

using System;
using Cpp2IlInjected;
using UnityEngine;
namespace Obi
{
// Token: 0x020004EF RID: 1263
[Token(Token = "0x20004EF")]
[RequireComponent(typeof(ObiClothPicker))]
public class ObiClothDragger : MonoBehaviour
{
// Token: 0x06002C1C RID: 11292 RVA: 0x0005ED9C File Offset: 0x0005CF9C
[Token(Token = "0x6002C1C")]
[Address(RVA = "0x10CA840", Offset = "0x10C9040", VA = "0x1810CA840")]
private void OnEnable()
{
ObiClothPicker component = base.GetComponent<ObiClothPicker>();
this.picker = component;
ObiClothPicker obiClothPicker = this.picker;
EventHandler<ObiClothPicker.ParticlePickEventArgs> eventHandler = new EventHandler(this.Picker_OnParticlePicked);
EventHandler<ObiClothPicker.ParticlePickEventArgs> onParticlePicked = obiClothPicker.OnParticlePicked;
Delegate @delegate = Delegate.Combine(onParticlePicked, eventHandler);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onParticlePicked)
{
}
ObiClothPicker obiClothPicker2 = this.picker;
EventHandler<ObiClothPicker.ParticlePickEventArgs> eventHandler2 = new EventHandler(this.Picker_OnParticleHeld);
EventHandler<ObiClothPicker.ParticlePickEventArgs> onParticleHeld = obiClothPicker2.OnParticleHeld;
Delegate delegate2 = Delegate.Combine(onParticleHeld, eventHandler2);
if (delegate2 == 0 || delegate2 != 0)
{
while (delegate2 != onParticleHeld)
{
}
ObiClothPicker obiClothPicker3 = this.picker;
EventHandler<ObiClothPicker.ParticlePickEventArgs> eventHandler3 = new EventHandler(this.Picker_OnParticleDragged);
EventHandler<ObiClothPicker.ParticlePickEventArgs> onParticleDragged = obiClothPicker3.OnParticleDragged;
Delegate delegate3 = Delegate.Combine(onParticleDragged, eventHandler3);
if (delegate3 == 0 || delegate3 != 0)
{
while (delegate3 != onParticleDragged)
{
}
ObiClothPicker obiClothPicker4 = this.picker;
EventHandler<ObiClothPicker.ParticlePickEventArgs> eventHandler4 = new EventHandler(this.Picker_OnParticleReleased);
EventHandler<ObiClothPicker.ParticlePickEventArgs> onParticleReleased = obiClothPicker4.OnParticleReleased;
Delegate delegate4 = Delegate.Combine(onParticleReleased, eventHandler4);
if (delegate4 == 0 || delegate4 != 0)
{
while (delegate4 != onParticleReleased)
{
}
return;
}
}
}
}
throw new InvalidCastException();
}
// Token: 0x06002C1D RID: 11293 RVA: 0x0005EEAC File Offset: 0x0005D0AC
[Token(Token = "0x6002C1D")]
[Address(RVA = "0x10CA500", Offset = "0x10C8D00", VA = "0x1810CA500")]
private void OnDisable()
{
ObiClothPicker obiClothPicker = this.picker;
EventHandler<ObiClothPicker.ParticlePickEventArgs> eventHandler = new EventHandler(this.Picker_OnParticlePicked);
EventHandler<ObiClothPicker.ParticlePickEventArgs> onParticlePicked = obiClothPicker.OnParticlePicked;
Delegate @delegate = Delegate.Remove(onParticlePicked, eventHandler);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onParticlePicked)
{
}
ObiClothPicker obiClothPicker2 = this.picker;
EventHandler<ObiClothPicker.ParticlePickEventArgs> eventHandler2 = new EventHandler(this.Picker_OnParticleHeld);
EventHandler<ObiClothPicker.ParticlePickEventArgs> onParticleHeld = obiClothPicker2.OnParticleHeld;
Delegate delegate2 = Delegate.Remove(onParticleHeld, eventHandler2);
if (delegate2 == 0 || delegate2 != 0)
{
while (delegate2 != onParticleHeld)
{
}
ObiClothPicker obiClothPicker3 = this.picker;
EventHandler<ObiClothPicker.ParticlePickEventArgs> eventHandler3 = new EventHandler(this.Picker_OnParticleDragged);
EventHandler<ObiClothPicker.ParticlePickEventArgs> onParticleDragged = obiClothPicker3.OnParticleDragged;
Delegate delegate3 = Delegate.Remove(onParticleDragged, eventHandler3);
if (delegate3 == 0 || delegate3 != 0)
{
while (delegate3 != onParticleDragged)
{
}
ObiClothPicker obiClothPicker4 = this.picker;
EventHandler<ObiClothPicker.ParticlePickEventArgs> eventHandler4 = new EventHandler(this.Picker_OnParticleReleased);
EventHandler<ObiClothPicker.ParticlePickEventArgs> onParticleReleased = obiClothPicker4.OnParticleReleased;
Delegate delegate4 = Delegate.Remove(onParticleReleased, eventHandler4);
if (delegate4 == 0 || delegate4 != 0)
{
while (delegate4 != onParticleReleased)
{
}
return;
}
}
}
}
throw new InvalidCastException();
}
// Token: 0x06002C1E RID: 11294 RVA: 0x0005EFA8 File Offset: 0x0005D1A8
[Token(Token = "0x6002C1E")]
[Address(RVA = "0x10CB2F0", Offset = "0x10C9AF0", VA = "0x1810CB2F0")]
private void Picker_OnParticleReleased(object sender, ObiClothPicker.ParticlePickEventArgs e)
{
IntPtr oniSolver = this.picker.cloth.solver.oniSolver;
float[] array = new float[1];
float num = this.originalMass;
array[0] = num;
int[] particleIndices = this.picker.cloth.particleIndices;
int particleIndex = e.particleIndex;
int num2 = particleIndices[particleIndex];
int num3 = Oni.SetParticleInverseMasses(oniSolver, array, 1, num2);
this.picker.cloth.solver.RelinquishRenderablePositions();
}
// Token: 0x06002C1F RID: 11295 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002C1F")]
[Address(RVA = "0x10CAF80", Offset = "0x10C9780", VA = "0x1810CAF80")]
private void Picker_OnParticleHeld(object sender, ObiClothPicker.ParticlePickEventArgs e)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002C20 RID: 11296 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002C20")]
[Address(RVA = "0x10CABA0", Offset = "0x10C93A0", VA = "0x1810CABA0")]
private void Picker_OnParticleDragged(object sender, ObiClothPicker.ParticlePickEventArgs e)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002C21 RID: 11297 RVA: 0x0005F02C File Offset: 0x0005D22C
[Token(Token = "0x6002C21")]
[Address(RVA = "0x10CB170", Offset = "0x10C9970", VA = "0x1810CB170")]
private void Picker_OnParticlePicked(object sender, ObiClothPicker.ParticlePickEventArgs e)
{
this.picker.cloth.solver.RequireRenderablePositions();
ObiClothPicker obiClothPicker = this.picker;
float[] invMasses = obiClothPicker.cloth.invMasses;
int particleIndex = e.particleIndex;
float num = invMasses[particleIndex];
this.originalMass = num;
IntPtr oniSolver = obiClothPicker.cloth.solver.oniSolver;
float[] array = new float[] { (float)((ulong)953267991L) };
int[] particleIndices = this.picker.cloth.particleIndices;
int particleIndex2 = e.particleIndex;
int num2 = particleIndices[particleIndex2];
int num3 = Oni.SetParticleInverseMasses(oniSolver, array, 1, num2);
}
// Token: 0x06002C22 RID: 11298 RVA: 0x0005F0DC File Offset: 0x0005D2DC
[Token(Token = "0x6002C22")]
[Address(RVA = "0x33E460", Offset = "0x33CC60", VA = "0x18033E460")]
public ObiClothDragger()
{
}
// Token: 0x0400349D RID: 13469
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400349D")]
private ObiClothPicker picker;
// Token: 0x0400349E RID: 13470
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400349E")]
private float originalMass;
// Token: 0x0400349F RID: 13471
[Token(Token = "0x400349F")]
private const float DRAGGED_PARTICLE_MASS = 0.0001f;
}
}