221 lines
7.2 KiB
C#
221 lines
7.2 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace Obi
|
|
{
|
|
// Token: 0x020004A0 RID: 1184
|
|
[Token(Token = "0x20004A0")]
|
|
[ExecuteInEditMode]
|
|
[AddComponentMenu("Physics/Obi/Obi Tearable Cloth")]
|
|
public class ObiTearableCloth : ObiClothBase
|
|
{
|
|
// Token: 0x06002A1B RID: 10779 RVA: 0x0005BD34 File Offset: 0x00059F34
|
|
[Token(Token = "0x6002A1B")]
|
|
[Address(RVA = "0xE7EDB0", Offset = "0xE7D5B0", VA = "0x180E7EDB0", Slot = "28")]
|
|
public override void OnSolverStepEnd()
|
|
{
|
|
base.OnSolverStepEnd();
|
|
if (base.isActiveAndEnabled)
|
|
{
|
|
this.ApplyTearing();
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06002A1C RID: 10780 RVA: 0x0005BD58 File Offset: 0x00059F58
|
|
[Token(Token = "0x6002A1C")]
|
|
[Address(RVA = "0xE7ED90", Offset = "0xE7D590", VA = "0x180E7ED90", Slot = "17")]
|
|
public override void OnEnable()
|
|
{
|
|
base.OnEnable();
|
|
base.InitializeWithRegularMesh();
|
|
}
|
|
|
|
// Token: 0x06002A1D RID: 10781 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002A1D")]
|
|
[Address(RVA = "0xE7DDB0", Offset = "0xE7C5B0", VA = "0x180E7DDB0", Slot = "21")]
|
|
public override bool AddToSolver(object info)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002A1E RID: 10782 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002A1E")]
|
|
[Address(RVA = "0xE7EDF0", Offset = "0xE7D5F0", VA = "0x180E7EDF0", Slot = "22")]
|
|
public override bool RemoveFromSolver(object info)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002A1F RID: 10783 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002A1F")]
|
|
[Address(RVA = "0xE7E6D0", Offset = "0xE7CED0", VA = "0x180E7E6D0", Slot = "34")]
|
|
public override void GetMeshDataArrays(Mesh mesh)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002A20 RID: 10784 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002A20")]
|
|
[Address(RVA = "0xE7E4B0", Offset = "0xE7CCB0", VA = "0x180E7E4B0", Slot = "36")]
|
|
public override void CommitResultsToMesh()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002A21 RID: 10785 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002A21")]
|
|
[Address(RVA = "0xE7E660", Offset = "0xE7CE60", VA = "0x180E7E660", Slot = "35")]
|
|
public override IEnumerator GeneratePhysicRepresentationForMesh()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002A22 RID: 10786 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002A22")]
|
|
[Address(RVA = "0xE7E090", Offset = "0xE7C890", VA = "0x180E7E090")]
|
|
private void ApplyTearing()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002A23 RID: 10787 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002A23")]
|
|
[Address(RVA = "0xE7F040", Offset = "0xE7D840", VA = "0x180E7F040")]
|
|
public void Tear(int constraintIndex)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002A24 RID: 10788 RVA: 0x0005BD74 File Offset: 0x00059F74
|
|
[Token(Token = "0x6002A24")]
|
|
[Address(RVA = "0xE81010", Offset = "0xE7F810", VA = "0x180E81010")]
|
|
public ObiTearableCloth()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04003322 RID: 13090
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x158")]
|
|
[Token(Token = "0x4003322")]
|
|
[Tooltip("Amount of memory preallocated to create extra particles and mesh data when tearing the cloth. 0 means no extra memory will be allocated, and the cloth will not be tearable. 1 means all cloth triangles will be fully tearable.")]
|
|
[Range(0f, 1f)]
|
|
public float tearCapacity = 0.5f;
|
|
|
|
// Token: 0x04003323 RID: 13091
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x15C")]
|
|
[Token(Token = "0x4003323")]
|
|
[Delayed]
|
|
[Tooltip("Maximum strain betweeen particles before the spring constraint holding them together would break.")]
|
|
public float tearResistanceMultiplier = 1000f;
|
|
|
|
// Token: 0x04003324 RID: 13092
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x160")]
|
|
[Token(Token = "0x4003324")]
|
|
[Tooltip("Percentage of debilitation suffered by the cloth around existing tears. Higher values cause already teared regions to become less tear resistant.")]
|
|
[Range(0f, 1f)]
|
|
public float tearDebilitation = 0.5f;
|
|
|
|
// Token: 0x04003325 RID: 13093
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x168")]
|
|
[Token(Token = "0x4003325")]
|
|
[Delayed]
|
|
[HideInInspector]
|
|
public float[] tearResistance;
|
|
|
|
// Token: 0x04003326 RID: 13094
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x170")]
|
|
[Token(Token = "0x4003326")]
|
|
[HideInInspector]
|
|
[SerializeField]
|
|
private int maxVertexValency;
|
|
|
|
// Token: 0x04003327 RID: 13095
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x174")]
|
|
[Token(Token = "0x4003327")]
|
|
[HideInInspector]
|
|
[SerializeField]
|
|
private int pooledVertices;
|
|
|
|
// Token: 0x04003328 RID: 13096
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x178")]
|
|
[Token(Token = "0x4003328")]
|
|
[HideInInspector]
|
|
[SerializeField]
|
|
private int pooledParticles;
|
|
|
|
// Token: 0x04003329 RID: 13097
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x17C")]
|
|
[Token(Token = "0x4003329")]
|
|
[HideInInspector]
|
|
[SerializeField]
|
|
private int usedParticles;
|
|
|
|
// Token: 0x0400332A RID: 13098
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x180")]
|
|
[Token(Token = "0x400332A")]
|
|
[HideInInspector]
|
|
[SerializeField]
|
|
private int[] distanceConstraintMap;
|
|
|
|
// Token: 0x0400332B RID: 13099
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x188")]
|
|
[Token(Token = "0x400332B")]
|
|
[HideInInspector]
|
|
[SerializeField]
|
|
private int[] bendConstraintOffsets;
|
|
|
|
// Token: 0x0400332C RID: 13100
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x190")]
|
|
[Token(Token = "0x400332C")]
|
|
protected Color[] meshColors;
|
|
|
|
// Token: 0x0400332D RID: 13101
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x198")]
|
|
[Token(Token = "0x400332D")]
|
|
protected Vector2[] meshUV1;
|
|
|
|
// Token: 0x0400332E RID: 13102
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x1A0")]
|
|
[Token(Token = "0x400332E")]
|
|
protected Vector2[] meshUV2;
|
|
|
|
// Token: 0x0400332F RID: 13103
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x1A8")]
|
|
[Token(Token = "0x400332F")]
|
|
protected Vector2[] meshUV3;
|
|
|
|
// Token: 0x04003330 RID: 13104
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x1B0")]
|
|
[Token(Token = "0x4003330")]
|
|
protected Vector2[] meshUV4;
|
|
|
|
// Token: 0x04003331 RID: 13105
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x1B8")]
|
|
[Token(Token = "0x4003331")]
|
|
protected GCHandle meshColorsHandle;
|
|
|
|
// Token: 0x04003332 RID: 13106
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x1BC")]
|
|
[Token(Token = "0x4003332")]
|
|
protected GCHandle meshUV1Handle;
|
|
|
|
// Token: 0x04003333 RID: 13107
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x1C0")]
|
|
[Token(Token = "0x4003333")]
|
|
protected GCHandle meshUV2Handle;
|
|
|
|
// Token: 0x04003334 RID: 13108
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x1C4")]
|
|
[Token(Token = "0x4003334")]
|
|
protected GCHandle meshUV3Handle;
|
|
|
|
// Token: 0x04003335 RID: 13109
|
|
[Cpp2IlInjected.FieldOffset(Offset = "0x1C8")]
|
|
[Token(Token = "0x4003335")]
|
|
protected GCHandle meshUV4Handle;
|
|
}
|
|
}
|