148 lines
4.6 KiB
C#
148 lines
4.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace Pathfinding
|
|
{
|
|
// Token: 0x020000CA RID: 202
|
|
[Token(Token = "0x2000075")]
|
|
[AddComponentMenu("Pathfinding/Modifiers/Raycast Modifier")]
|
|
[RequireComponent(typeof(Seeker))]
|
|
[HelpURL("http://arongranberg.com/astar/docs/class_pathfinding_1_1_raycast_modifier.php")]
|
|
[Serializable]
|
|
public class RaycastModifier : MonoModifier
|
|
{
|
|
// Token: 0x17000114 RID: 276
|
|
// (get) Token: 0x06000735 RID: 1845 RVA: 0x000055DC File Offset: 0x000037DC
|
|
[Token(Token = "0x170000EA")]
|
|
public override int Order
|
|
{
|
|
[Token(Token = "0x6000602")]
|
|
[Address(RVA = "0x55D6C0", Offset = "0x55C4C0", VA = "0x18055D6C0", Slot = "15")]
|
|
get
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000736 RID: 1846 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6000603")]
|
|
[Address(RVA = "0x24B5AA0", Offset = "0x24B48A0", VA = "0x1824B5AA0", Slot = "17")]
|
|
public override void Apply(Path p)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000737 RID: 1847 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000604")]
|
|
[Address(RVA = "0x24B5420", Offset = "0x24B4220", VA = "0x1824B5420")]
|
|
private List<Vector3> ApplyGreedy(Path p, List<Vector3> points)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x06000738 RID: 1848 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000605")]
|
|
[Address(RVA = "0x24B4A60", Offset = "0x24B3860", VA = "0x1824B4A60")]
|
|
private List<Vector3> ApplyDP(Path p, List<Vector3> points)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x06000739 RID: 1849 RVA: 0x000055F4 File Offset: 0x000037F4
|
|
[Token(Token = "0x6000606")]
|
|
[Address(RVA = "0x24B5E20", Offset = "0x24B4C20", VA = "0x1824B5E20")]
|
|
protected bool ValidateLine(GraphNode n1, GraphNode n2, Vector3 v1, Vector3 v2)
|
|
{
|
|
return default(bool);
|
|
}
|
|
|
|
// Token: 0x0600073A RID: 1850 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6000607")]
|
|
[Address(RVA = "0x24B6810", Offset = "0x24B5610", VA = "0x1824B6810")]
|
|
public RaycastModifier()
|
|
{
|
|
}
|
|
|
|
// Token: 0x040004CB RID: 1227
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4000370")]
|
|
public bool useRaycasting;
|
|
|
|
// Token: 0x040004CC RID: 1228
|
|
[FieldOffset(Offset = "0x2C")]
|
|
[Token(Token = "0x4000371")]
|
|
public LayerMask mask;
|
|
|
|
// Token: 0x040004CD RID: 1229
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4000372")]
|
|
[Tooltip("Checks around the line between two points, not just the exact line.\nMake sure the ground is either too far below or is not inside the mask since otherwise the raycast might always hit the ground.")]
|
|
public bool thickRaycast;
|
|
|
|
// Token: 0x040004CE RID: 1230
|
|
[FieldOffset(Offset = "0x34")]
|
|
[Token(Token = "0x4000373")]
|
|
[Tooltip("Distance from the ray which will be checked for colliders")]
|
|
public float thickRaycastRadius;
|
|
|
|
// Token: 0x040004CF RID: 1231
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4000374")]
|
|
[Tooltip("Check for intersections with 2D colliders instead of 3D colliders.")]
|
|
public bool use2DPhysics;
|
|
|
|
// Token: 0x040004D0 RID: 1232
|
|
[FieldOffset(Offset = "0x3C")]
|
|
[Token(Token = "0x4000375")]
|
|
[Tooltip("Offset from the original positions to perform the raycast.\nCan be useful to avoid the raycast intersecting the ground or similar things you do not want to it intersect")]
|
|
public Vector3 raycastOffset;
|
|
|
|
// Token: 0x040004D1 RID: 1233
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4000376")]
|
|
[Tooltip("Use raycasting on the graphs. Only currently works with GridGraph and NavmeshGraph and RecastGraph. This is a pro version feature.")]
|
|
public bool useGraphRaycasting;
|
|
|
|
// Token: 0x040004D2 RID: 1234
|
|
[FieldOffset(Offset = "0x4C")]
|
|
[Token(Token = "0x4000377")]
|
|
[Tooltip("When using the high quality mode the script will try harder to find a shorter path. This is significantly slower than the greedy low quality approach.")]
|
|
public RaycastModifier.Quality quality;
|
|
|
|
// Token: 0x040004D3 RID: 1235
|
|
[Token(Token = "0x4000378")]
|
|
private static readonly int[] iterationsByQuality;
|
|
|
|
// Token: 0x040004D4 RID: 1236
|
|
[Token(Token = "0x4000379")]
|
|
private static List<Vector3> buffer;
|
|
|
|
// Token: 0x040004D5 RID: 1237
|
|
[Token(Token = "0x400037A")]
|
|
private static float[] DPCosts;
|
|
|
|
// Token: 0x040004D6 RID: 1238
|
|
[Token(Token = "0x400037B")]
|
|
private static int[] DPParents;
|
|
|
|
// Token: 0x020000CB RID: 203
|
|
[Token(Token = "0x2000129")]
|
|
public enum Quality
|
|
{
|
|
// Token: 0x040004D8 RID: 1240
|
|
[Token(Token = "0x40006D4")]
|
|
Low,
|
|
// Token: 0x040004D9 RID: 1241
|
|
[Token(Token = "0x40006D5")]
|
|
Medium,
|
|
// Token: 0x040004DA RID: 1242
|
|
[Token(Token = "0x40006D6")]
|
|
High,
|
|
// Token: 0x040004DB RID: 1243
|
|
[Token(Token = "0x40006D7")]
|
|
Highest
|
|
}
|
|
}
|
|
}
|