420 lines
13 KiB
C#
420 lines
13 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Cpp2IlInjected;
|
|
using Pathfinding.ClipperLib;
|
|
using Pathfinding.Poly2Tri;
|
|
using Pathfinding.Voxels;
|
|
using UnityEngine;
|
|
|
|
namespace Pathfinding.Util
|
|
{
|
|
// Token: 0x02000142 RID: 322
|
|
[Token(Token = "0x20000CB")]
|
|
public class TileHandler
|
|
{
|
|
// Token: 0x1700016E RID: 366
|
|
// (get) Token: 0x06000A57 RID: 2647 RVA: 0x0000665C File Offset: 0x0000485C
|
|
[Token(Token = "0x17000143")]
|
|
private bool isBatching
|
|
{
|
|
[Token(Token = "0x60008EA")]
|
|
[Address(RVA = "0x9806A0", Offset = "0x97F6A0", VA = "0x1809806A0")]
|
|
get
|
|
{
|
|
return default(bool);
|
|
}
|
|
}
|
|
|
|
// Token: 0x1700016F RID: 367
|
|
// (get) Token: 0x06000A58 RID: 2648 RVA: 0x00006674 File Offset: 0x00004874
|
|
[Token(Token = "0x17000144")]
|
|
public bool isValid
|
|
{
|
|
[Token(Token = "0x60008EB")]
|
|
[Address(RVA = "0x9806B0", Offset = "0x97F6B0", VA = "0x1809806B0")]
|
|
get
|
|
{
|
|
return default(bool);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000A59 RID: 2649 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008EC")]
|
|
[Address(RVA = "0x9804D0", Offset = "0x97F4D0", VA = "0x1809804D0")]
|
|
public TileHandler(NavmeshBase graph)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A5A RID: 2650 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008ED")]
|
|
[Address(RVA = "0x97ED10", Offset = "0x97DD10", VA = "0x18097ED10")]
|
|
public void OnRecalculatedTiles(NavmeshTile[] recalculatedTiles)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A5B RID: 2651 RVA: 0x0000668C File Offset: 0x0000488C
|
|
[Token(Token = "0x60008EE")]
|
|
[Address(RVA = "0x97E8D0", Offset = "0x97D8D0", VA = "0x18097E8D0")]
|
|
public int GetActiveRotation(Int2 p)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
// Token: 0x06000A5C RID: 2652 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x60008EF")]
|
|
[Address(RVA = "0x97FAB0", Offset = "0x97EAB0", VA = "0x18097FAB0")]
|
|
public TileHandler.TileType RegisterTileType(Mesh source, Int3 centerOffset, int width = 1, int depth = 1)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x06000A5D RID: 2653 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008F0")]
|
|
[Address(RVA = "0x97AD20", Offset = "0x979D20", VA = "0x18097AD20")]
|
|
public void CreateTileTypesFromGraph()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A5E RID: 2654 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008F1")]
|
|
[Address(RVA = "0x980150", Offset = "0x97F150", VA = "0x180980150")]
|
|
private void UpdateTileType(NavmeshTile tile)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A5F RID: 2655 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008F2")]
|
|
[Address(RVA = "0x97FFB0", Offset = "0x97EFB0", VA = "0x18097FFB0")]
|
|
public void StartBatchLoad()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A60 RID: 2656 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008F3")]
|
|
[Address(RVA = "0x97E730", Offset = "0x97D730", VA = "0x18097E730")]
|
|
public void EndBatchLoad()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A61 RID: 2657 RVA: 0x000066A4 File Offset: 0x000048A4
|
|
[Token(Token = "0x60008F4")]
|
|
[Address(RVA = "0x97B390", Offset = "0x97A390", VA = "0x18097B390")]
|
|
private TileHandler.CuttingResult CutPoly(Int3[] verts, int[] tris, Int3[] extraShape, GraphTransform graphTransform, IntRect tiles, TileHandler.CutMode mode = TileHandler.CutMode.CutAll | TileHandler.CutMode.CutDual, int perturbate = -1)
|
|
{
|
|
return default(TileHandler.CuttingResult);
|
|
}
|
|
|
|
// Token: 0x06000A62 RID: 2658 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x60008F5")]
|
|
[Address(RVA = "0x97F460", Offset = "0x97E460", VA = "0x18097F460")]
|
|
private static List<TileHandler.Cut> PrepareNavmeshCutsForCutting(List<NavmeshCut> navmeshCuts, GraphTransform transform, IntRect cutSpaceBounds, int perturbate, bool anyNavmeshAdds)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x06000A63 RID: 2659 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008F6")]
|
|
[Address(RVA = "0x97F040", Offset = "0x97E040", VA = "0x18097F040")]
|
|
private static void PoolPolygon(Polygon polygon, Stack<Polygon> pool)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A64 RID: 2660 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008F7")]
|
|
[Address(RVA = "0x97AE50", Offset = "0x979E50", VA = "0x18097AE50")]
|
|
private void CutAll(List<IntPoint> poly, List<int> intersectingCutIndices, List<TileHandler.Cut> cuts, PolyTree result)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A65 RID: 2661 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008F8")]
|
|
[Address(RVA = "0x97AFB0", Offset = "0x979FB0", VA = "0x18097AFB0")]
|
|
private void CutDual(List<IntPoint> poly, List<int> tmpIntersectingCuts, List<TileHandler.Cut> cuts, bool hasDual, List<List<IntPoint>> intermediateResult, PolyTree result)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A66 RID: 2662 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008F9")]
|
|
[Address(RVA = "0x97B2D0", Offset = "0x97A2D0", VA = "0x18097B2D0")]
|
|
private void CutExtra(List<IntPoint> poly, List<IntPoint> extraClipShape, PolyTree result)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A67 RID: 2663 RVA: 0x000066BC File Offset: 0x000048BC
|
|
[Token(Token = "0x60008FA")]
|
|
[Address(RVA = "0x97AA60", Offset = "0x979A60", VA = "0x18097AA60")]
|
|
private int ClipAgainstRectangle(Int3[] clipIn, Int3[] clipOut, Int2 size)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
// Token: 0x06000A68 RID: 2664 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008FB")]
|
|
[Address(RVA = "0x97AB90", Offset = "0x979B90", VA = "0x18097AB90")]
|
|
private static void CopyMesh(Int3[] vertices, int[] triangles, List<Int3> outVertices, List<int> outTriangles)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A69 RID: 2665 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008FC")]
|
|
[Address(RVA = "0x97D540", Offset = "0x97C540", VA = "0x18097D540")]
|
|
private void DelaunayRefinement(Int3[] verts, int[] tris, ref int tCount, bool delaunay, bool colinear)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A6A RID: 2666 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008FD")]
|
|
[Address(RVA = "0x97A8A0", Offset = "0x9798A0", VA = "0x18097A8A0")]
|
|
public void ClearTile(int x, int z)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A6B RID: 2667 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008FE")]
|
|
[Address(RVA = "0x97FC10", Offset = "0x97EC10", VA = "0x18097FC10")]
|
|
public void ReloadInBounds(Bounds bounds)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A6C RID: 2668 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008FF")]
|
|
[Address(RVA = "0x97FD90", Offset = "0x97ED90", VA = "0x18097FD90")]
|
|
public void ReloadInBounds(IntRect tiles)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A6D RID: 2669 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6000900")]
|
|
[Address(RVA = "0x97FED0", Offset = "0x97EED0", VA = "0x18097FED0")]
|
|
public void ReloadTile(int x, int z)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A6E RID: 2670 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6000901")]
|
|
[Address(RVA = "0x97E920", Offset = "0x97D920", VA = "0x18097E920")]
|
|
public void LoadTile(TileHandler.TileType tile, int x, int z, int rotation, int yoffset)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400072F RID: 1839
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4000546")]
|
|
public readonly NavmeshBase graph;
|
|
|
|
// Token: 0x04000730 RID: 1840
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4000547")]
|
|
private readonly int tileXCount;
|
|
|
|
// Token: 0x04000731 RID: 1841
|
|
[FieldOffset(Offset = "0x1C")]
|
|
[Token(Token = "0x4000548")]
|
|
private readonly int tileZCount;
|
|
|
|
// Token: 0x04000732 RID: 1842
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4000549")]
|
|
private readonly Clipper clipper;
|
|
|
|
// Token: 0x04000733 RID: 1843
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400054A")]
|
|
private readonly Dictionary<Int2, int> cached_Int2_int_dict;
|
|
|
|
// Token: 0x04000734 RID: 1844
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400054B")]
|
|
private readonly TileHandler.TileType[] activeTileTypes;
|
|
|
|
// Token: 0x04000735 RID: 1845
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x400054C")]
|
|
private readonly int[] activeTileRotations;
|
|
|
|
// Token: 0x04000736 RID: 1846
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x400054D")]
|
|
private readonly int[] activeTileOffsets;
|
|
|
|
// Token: 0x04000737 RID: 1847
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400054E")]
|
|
private readonly bool[] reloadedInBatch;
|
|
|
|
// Token: 0x04000738 RID: 1848
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400054F")]
|
|
public readonly GridLookup<NavmeshClipper> cuts;
|
|
|
|
// Token: 0x04000739 RID: 1849
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x4000550")]
|
|
private int batchDepth;
|
|
|
|
// Token: 0x0400073A RID: 1850
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4000551")]
|
|
private readonly Int3PolygonClipper simpleClipper;
|
|
|
|
// Token: 0x02000143 RID: 323
|
|
[Token(Token = "0x200014B")]
|
|
public class TileType
|
|
{
|
|
// Token: 0x17000170 RID: 368
|
|
// (get) Token: 0x06000A71 RID: 2673 RVA: 0x00006704 File Offset: 0x00004904
|
|
[Token(Token = "0x17000172")]
|
|
public int Width
|
|
{
|
|
[Token(Token = "0x6000AAA")]
|
|
[Address(RVA = "0x4D9880", Offset = "0x4D8880", VA = "0x1804D9880")]
|
|
get
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000171 RID: 369
|
|
// (get) Token: 0x06000A72 RID: 2674 RVA: 0x0000671C File Offset: 0x0000491C
|
|
[Token(Token = "0x17000173")]
|
|
public int Depth
|
|
{
|
|
[Token(Token = "0x6000AAB")]
|
|
[Address(RVA = "0x42B830", Offset = "0x42A830", VA = "0x18042B830")]
|
|
get
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000A73 RID: 2675 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6000AAC")]
|
|
[Address(RVA = "0x980DD0", Offset = "0x97FDD0", VA = "0x180980DD0")]
|
|
public TileType(Int3[] sourceVerts, int[] sourceTris, Int3 tileSize, Int3 centerOffset, int width = 1, int depth = 1)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A74 RID: 2676 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6000AAD")]
|
|
[Address(RVA = "0x980AA0", Offset = "0x97FAA0", VA = "0x180980AA0")]
|
|
public TileType(Mesh source, Int3 tileSize, Int3 centerOffset, int width = 1, int depth = 1)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A75 RID: 2677 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6000AAE")]
|
|
[Address(RVA = "0x980710", Offset = "0x97F710", VA = "0x180980710")]
|
|
public void Load(out Int3[] verts, out int[] tris, int rotation, int yoffset)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400073B RID: 1851
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4000761")]
|
|
private Int3[] verts;
|
|
|
|
// Token: 0x0400073C RID: 1852
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4000762")]
|
|
private int[] tris;
|
|
|
|
// Token: 0x0400073D RID: 1853
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4000763")]
|
|
private Int3 offset;
|
|
|
|
// Token: 0x0400073E RID: 1854
|
|
[FieldOffset(Offset = "0x2C")]
|
|
[Token(Token = "0x4000764")]
|
|
private int lastYOffset;
|
|
|
|
// Token: 0x0400073F RID: 1855
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4000765")]
|
|
private int lastRotation;
|
|
|
|
// Token: 0x04000740 RID: 1856
|
|
[FieldOffset(Offset = "0x34")]
|
|
[Token(Token = "0x4000766")]
|
|
private int width;
|
|
|
|
// Token: 0x04000741 RID: 1857
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4000767")]
|
|
private int depth;
|
|
|
|
// Token: 0x04000742 RID: 1858
|
|
[Token(Token = "0x4000768")]
|
|
private static readonly int[] Rotations;
|
|
}
|
|
|
|
// Token: 0x02000144 RID: 324
|
|
[Token(Token = "0x200014C")]
|
|
[Flags]
|
|
public enum CutMode
|
|
{
|
|
// Token: 0x04000744 RID: 1860
|
|
[Token(Token = "0x400076A")]
|
|
CutAll = 1,
|
|
// Token: 0x04000745 RID: 1861
|
|
[Token(Token = "0x400076B")]
|
|
CutDual = 2,
|
|
// Token: 0x04000746 RID: 1862
|
|
[Token(Token = "0x400076C")]
|
|
CutExtra = 4
|
|
}
|
|
|
|
// Token: 0x02000145 RID: 325
|
|
[Token(Token = "0x200014D")]
|
|
private class Cut
|
|
{
|
|
// Token: 0x06000A77 RID: 2679 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6000AB0")]
|
|
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
|
public Cut()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04000747 RID: 1863
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400076D")]
|
|
public IntRect bounds;
|
|
|
|
// Token: 0x04000748 RID: 1864
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400076E")]
|
|
public Int2 boundsY;
|
|
|
|
// Token: 0x04000749 RID: 1865
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400076F")]
|
|
public bool isDual;
|
|
|
|
// Token: 0x0400074A RID: 1866
|
|
[FieldOffset(Offset = "0x29")]
|
|
[Token(Token = "0x4000770")]
|
|
public bool cutsAddedGeom;
|
|
|
|
// Token: 0x0400074B RID: 1867
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4000771")]
|
|
public List<IntPoint> contour;
|
|
}
|
|
|
|
// Token: 0x02000146 RID: 326
|
|
[Token(Token = "0x200014E")]
|
|
private struct CuttingResult
|
|
{
|
|
// Token: 0x0400074C RID: 1868
|
|
[FieldOffset(Offset = "0x0")]
|
|
[Token(Token = "0x4000772")]
|
|
public Int3[] verts;
|
|
|
|
// Token: 0x0400074D RID: 1869
|
|
[FieldOffset(Offset = "0x8")]
|
|
[Token(Token = "0x4000773")]
|
|
public int[] tris;
|
|
}
|
|
}
|
|
}
|