Files
2026-04-10 22:50:51 +02:00

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