Pathfinding.TriangleMeshNode.GetNavmeshHolder C# (CSharp) Method

GetNavmeshHolder() public static method

public static GetNavmeshHolder ( uint graphIndex ) : INavmeshHolder
graphIndex uint
return INavmeshHolder
		public static INavmeshHolder GetNavmeshHolder (uint graphIndex) {
			return _navmeshHolders[(int)graphIndex];
		}
		

Usage Example

Ejemplo n.º 1
0
        public override Vector3 ClosestPointOnNodeXZ(Vector3 _p)
        {
            INavmeshHolder navmeshHolder = TriangleMeshNode.GetNavmeshHolder(base.GraphIndex);
            Int3           vertex        = navmeshHolder.GetVertex(this.v0);
            Int3           vertex2       = navmeshHolder.GetVertex(this.v1);
            Int3           vertex3       = navmeshHolder.GetVertex(this.v2);
            Int3           point         = (Int3)_p;
            int            y             = point.y;

            vertex.y  = 0;
            vertex2.y = 0;
            vertex3.y = 0;
            point.y   = 0;
            if ((long)(vertex2.x - vertex.x) * (long)(point.z - vertex.z) - (long)(point.x - vertex.x) * (long)(vertex2.z - vertex.z) > 0L)
            {
                float num = Mathf.Clamp01(AstarMath.NearestPointFactor(vertex, vertex2, point));
                return(new Vector3((float)vertex.x + (float)(vertex2.x - vertex.x) * num, (float)y, (float)vertex.z + (float)(vertex2.z - vertex.z) * num) * 0.001f);
            }
            if ((long)(vertex3.x - vertex2.x) * (long)(point.z - vertex2.z) - (long)(point.x - vertex2.x) * (long)(vertex3.z - vertex2.z) > 0L)
            {
                float num2 = Mathf.Clamp01(AstarMath.NearestPointFactor(vertex2, vertex3, point));
                return(new Vector3((float)vertex2.x + (float)(vertex3.x - vertex2.x) * num2, (float)y, (float)vertex2.z + (float)(vertex3.z - vertex2.z) * num2) * 0.001f);
            }
            if ((long)(vertex.x - vertex3.x) * (long)(point.z - vertex3.z) - (long)(point.x - vertex3.x) * (long)(vertex.z - vertex3.z) > 0L)
            {
                float num3 = Mathf.Clamp01(AstarMath.NearestPointFactor(vertex3, vertex, point));
                return(new Vector3((float)vertex3.x + (float)(vertex.x - vertex3.x) * num3, (float)y, (float)vertex3.z + (float)(vertex.z - vertex3.z) * num3) * 0.001f);
            }
            return(_p);
        }
All Usage Examples Of Pathfinding.TriangleMeshNode::GetNavmeshHolder