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 = "0x249AD10", Offset = "0x2499B10", VA = "0x18249AD10")]
|
|
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 = "0x249AD20", Offset = "0x2499B20", VA = "0x18249AD20")]
|
|
get
|
|
{
|
|
return default(bool);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000A59 RID: 2649 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008EC")]
|
|
[Address(RVA = "0x249AB40", Offset = "0x2499940", VA = "0x18249AB40")]
|
|
public TileHandler(NavmeshBase graph)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A5A RID: 2650 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008ED")]
|
|
[Address(RVA = "0x2499380", Offset = "0x2498180", VA = "0x182499380")]
|
|
public void OnRecalculatedTiles(NavmeshTile[] recalculatedTiles)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A5B RID: 2651 RVA: 0x0000668C File Offset: 0x0000488C
|
|
[Token(Token = "0x60008EE")]
|
|
[Address(RVA = "0x2498F40", Offset = "0x2497D40", VA = "0x182498F40")]
|
|
public int GetActiveRotation(Int2 p)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
// Token: 0x06000A5C RID: 2652 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x60008EF")]
|
|
[Address(RVA = "0x249A120", Offset = "0x2498F20", VA = "0x18249A120")]
|
|
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 = "0x2495390", Offset = "0x2494190", VA = "0x182495390")]
|
|
public void CreateTileTypesFromGraph()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A5E RID: 2654 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008F1")]
|
|
[Address(RVA = "0x249A7C0", Offset = "0x24995C0", VA = "0x18249A7C0")]
|
|
private void UpdateTileType(NavmeshTile tile)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A5F RID: 2655 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008F2")]
|
|
[Address(RVA = "0x249A620", Offset = "0x2499420", VA = "0x18249A620")]
|
|
public void StartBatchLoad()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A60 RID: 2656 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008F3")]
|
|
[Address(RVA = "0x2498DA0", Offset = "0x2497BA0", VA = "0x182498DA0")]
|
|
public void EndBatchLoad()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A61 RID: 2657 RVA: 0x000066A4 File Offset: 0x000048A4
|
|
[Token(Token = "0x60008F4")]
|
|
[Address(RVA = "0x2495A00", Offset = "0x2494800", VA = "0x182495A00")]
|
|
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 = "0x2499AD0", Offset = "0x24988D0", VA = "0x182499AD0")]
|
|
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 = "0x24996B0", Offset = "0x24984B0", VA = "0x1824996B0")]
|
|
private static void PoolPolygon(Polygon polygon, Stack<Polygon> pool)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A64 RID: 2660 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008F7")]
|
|
[Address(RVA = "0x24954C0", Offset = "0x24942C0", VA = "0x1824954C0")]
|
|
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 = "0x2495620", Offset = "0x2494420", VA = "0x182495620")]
|
|
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 = "0x2495940", Offset = "0x2494740", VA = "0x182495940")]
|
|
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 = "0x24950D0", Offset = "0x2493ED0", VA = "0x1824950D0")]
|
|
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 = "0x2495200", Offset = "0x2494000", VA = "0x182495200")]
|
|
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 = "0x2497BB0", Offset = "0x24969B0", VA = "0x182497BB0")]
|
|
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 = "0x2494F10", Offset = "0x2493D10", VA = "0x182494F10")]
|
|
public void ClearTile(int x, int z)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A6B RID: 2667 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008FE")]
|
|
[Address(RVA = "0x249A280", Offset = "0x2499080", VA = "0x18249A280")]
|
|
public void ReloadInBounds(Bounds bounds)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A6C RID: 2668 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x60008FF")]
|
|
[Address(RVA = "0x249A400", Offset = "0x2499200", VA = "0x18249A400")]
|
|
public void ReloadInBounds(IntRect tiles)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A6D RID: 2669 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6000900")]
|
|
[Address(RVA = "0x249A540", Offset = "0x2499340", VA = "0x18249A540")]
|
|
public void ReloadTile(int x, int z)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A6E RID: 2670 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6000901")]
|
|
[Address(RVA = "0x2498F90", Offset = "0x2497D90", VA = "0x182498F90")]
|
|
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 = "0x436510", Offset = "0x435310", VA = "0x180436510")]
|
|
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 = "0x40FFE0", Offset = "0x40EDE0", VA = "0x18040FFE0")]
|
|
get
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000A73 RID: 2675 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6000AAC")]
|
|
[Address(RVA = "0x249B440", Offset = "0x249A240", VA = "0x18249B440")]
|
|
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 = "0x249B110", Offset = "0x2499F10", VA = "0x18249B110")]
|
|
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 = "0x249AD80", Offset = "0x2499B80", VA = "0x18249AD80")]
|
|
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 = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
|
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;
|
|
}
|
|
}
|
|
}
|