/// <summary> /// Distances to wall. /// </summary> /// <param name="start">The start.</param> /// <returns>System.Double.</returns> public double DistanceToWall(position_t start) { try { if (start.X != 0 && start.Z != 0) { return(GetDistanceToWall(start)); } else { return(0); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); return(0); } }
/// <summary> /// Gets the waypoints. /// </summary> public unsafe void GetWaypoints() { Waypoints.Clear(); if (pathpoints() > 0) { double *xitems; double *zitems; int itemsCount; using (FFXINAV.Get_WayPoints_Wrapper(out xitems, out zitems, out itemsCount)) { for (int i = 0; i < itemsCount; i++) { var position = new position_t { X = (float)xitems[i], Z = (float)zitems[i] }; Waypoints.Add(position); } } } }
/// <summary> /// Enables the or disable nearest poly. /// </summary> /// <param name="Pos">The position.</param> /// <param name="Enable">if set to <c>true</c> [enable].</param> /// <param name="UseCustom">if set to <c>true</c> to use meshes made with noesis data [use custom].</param> /// <returns><c>true</c> if XXXX, <c>false</c> Always Set to false if using my meshes </returns> public bool EnableOrDisableNearestPoly(position_t Pos, bool Enable, bool UseCustom) { return(EnableNearestPoly(this.m_pNativeObject, Pos, Enable, UseCustom)); }
/// <summary> /// Getrotations the specified start. /// </summary> /// <param name="start">The start.</param> /// <param name="end">The end.</param> /// <returns>System.SByte.</returns> public sbyte Getrotation(position_t start, position_t end) { return(GetRotation(this.m_pNativeObject, start, end)); }
/// <summary> /// Determines whether [is valid position] [the specified start]. /// </summary> /// <param name="start">The start.</param> /// <param name="UseCustom">if set to <c>true</c> [use custom].</param> /// <returns><c>true</c> if [is valid position] [the specified start]; otherwise, <c>false</c>.</returns> public bool isValidPosition(position_t start, bool UseCustom) { return(IsValidPosition(this.m_pNativeObject, start, UseCustom)); }
/// <summary> /// Finds the random path. /// </summary> /// <param name="start">The start.</param> /// <param name="maxRadius">The maximum radius.</param> /// <param name="maxTurns">The maximum turns.</param> /// <param name="UseCustom">if set to <c>true</c> [use custom].</param> /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns> public bool findRandomPath(position_t start, float maxRadius, sbyte maxTurns, bool UseCustom) { return(FindRandomPath(this.m_pNativeObject, start, maxRadius, maxTurns, UseCustom)); }
public static extern sbyte GetRotation(position_t start, position_t end);
/// <summary> /// Getrotations the specified start. /// </summary> /// <param name="start">The start.</param> /// <param name="end">The end.</param> /// <returns>System.SByte.</returns> public sbyte Getrotation(position_t start, position_t end) { return(GetRotation(start, end)); }
public static extern bool EnableNearestPoly(IntPtr pFFXINavClassObject, position_t Pos, bool Enable, bool UseCustomMesh);
public static extern bool IsValidPosition(IntPtr pFFXINavClassObject, position_t start, bool UseCustom);
public static extern sbyte GetRotation(IntPtr pFFXINavClassObject, position_t start, position_t end);
public static extern double GetDistanceToWall(IntPtr pFFXINavClassObject, position_t start);
public static extern void FindClosestPath(IntPtr pFFXINavClassObject, position_t start, position_t end, bool UseCustomNavMesh);
public static extern void findPath(position_t start, position_t end, bool UseCustomNavMesh);
public static extern bool CanSeeDestination(position_t start, position_t end);
public static extern bool FindRandomPath(IntPtr pFFXINavClassObject, position_t start, float maxRadius, sbyte maxTurns, bool UseCustom);
/// <summary> /// Finds the path to posi. /// </summary> /// <param name="start">The start.</param> /// <param name="end">The end.</param> /// <param name="UseCustonNavMeshes">if set to <c>true</c> [use custon nav meshes].</param> public void FindPathToPosi(position_t start, position_t end, bool UseCustonNavMeshes) { //set false if using DSP Nav files //set true if using Meshes made with Noesis map data findPath(start, end, UseCustonNavMeshes); }
/// <summary> /// Determines whether this instance [can we see destination] the specified start. /// </summary> /// <param name="start">The start.</param> /// <param name="end">The end.</param> /// <returns> /// <c>true</c> if this instance [can we see destination] the specified start; otherwise, <c>false</c>. /// </returns> public bool CanWeSeeDestination(position_t start, position_t end) { return(CanSeeDestination(this.m_pNativeObject, start, end)); }
/// <summary> /// Finds the closest path. /// </summary> /// <param name="start">The start.</param> /// <param name="end">The end.</param> /// <param name="UseCustonNavMeshes">if set to <c>true</c> [use custon nav meshes].</param> public void findClosestPath(position_t start, position_t end, bool UseCustonNavMeshes) { //set false if using DSP Nav files or meshes made with PathFinder & FFXINAV.dll //set true if using Meshes made with Noesis map data FindClosestPath(this.m_pNativeObject, start, end, UseCustonNavMeshes); }
public static extern bool CanSeeDestination(IntPtr pFFXINavClassObject, position_t start, position_t end);
/// <summary> /// Determines whether this instance [can we see destination] the specified start. /// </summary> /// <param name="start">The start.</param> /// <param name="end">The end.</param> /// <returns> /// <c>true</c> if this instance [can we see destination] the specified start; otherwise, <c>false</c>. /// </returns> public bool CanWeSeeDestination(position_t start, position_t end) { return(CanSeeDestination(start, end)); }
public static extern double GetDistanceToWall(position_t start);