Navmesh/paths rendering depth bias, navmesh points and portals now selectable

This commit is contained in:
dexyfex
2018-03-12 04:42:20 +11:00
Unverified
parent 07330891bf
commit 761278fd0b
15 changed files with 448 additions and 139 deletions
+79 -1
View File
@@ -185,6 +185,8 @@ namespace CodeWalker
public WaterQuad WaterQuad { get; set; }
public Bounds CollisionBounds { get; set; }
public YnvPoly NavPoly { get; set; }
public YnvPoint NavPoint { get; set; }
public YnvPortal NavPortal { get; set; }
public YndNode PathNode { get; set; }
public YndLink PathLink { get; set; }
public TrainTrackNode TrainTrackNode { get; set; }
@@ -218,6 +220,8 @@ namespace CodeWalker
(WaterQuad != null) ||
(CollisionBounds != null) ||
(NavPoly != null) ||
(NavPoint != null) ||
(NavPortal != null) ||
(PathNode != null) ||
(TrainTrackNode != null) ||
(DistantLodLights != null) ||
@@ -248,6 +252,8 @@ namespace CodeWalker
|| (WaterQuad != mhit.WaterQuad)
|| (CollisionBounds != mhit.CollisionBounds)
|| (NavPoly != mhit.NavPoly)
|| (NavPoint != mhit.NavPoint)
|| (NavPortal != mhit.NavPortal)
|| (PathNode != mhit.PathNode)
|| (TrainTrackNode != mhit.TrainTrackNode)
|| (ScenarioNode != mhit.ScenarioNode)
@@ -268,6 +274,8 @@ namespace CodeWalker
|| (WaterQuad != null)
|| (CollisionBounds != null)
|| (NavPoly != null)
|| (NavPoint != null)
|| (NavPortal != null)
|| (PathNode != null)
|| (PathLink != null)
|| (TrainTrackNode != null)
@@ -290,6 +298,8 @@ namespace CodeWalker
WaterQuad = null;
CollisionBounds = null;
NavPoly = null;
NavPoint = null;
NavPortal = null;
PathNode = null;
PathLink = null;
TrainTrackNode = null;
@@ -352,6 +362,14 @@ namespace CodeWalker
{
name = "NavPoly " + NavPoly.ToString();
}
if (NavPoint != null)
{
name = "NavPoint " + NavPoint.ToString();
}
if (NavPortal != null)
{
name = "NavPortal " + NavPortal.ToString();
}
if (PathNode != null)
{
name = "PathNode " + PathNode.AreaID.ToString() + "." + PathNode.NodeID.ToString(); //+ FloatUtil.GetVector3String(PathNode.Position);
@@ -418,6 +436,14 @@ namespace CodeWalker
{
name = "NavPoly " + NavPoly.ToString();
}
if (NavPoint != null)
{
name = "NavPoint " + NavPoint.ToString();
}
if (NavPortal != null)
{
name = "NavPortal " + NavPortal.ToString();
}
if (PathNode != null)
{
name = "PathNode " + PathNode.AreaID.ToString() + "." + PathNode.NodeID.ToString();// + FloatUtil.GetVector3String(PathNode.Position);
@@ -461,6 +487,14 @@ namespace CodeWalker
{
res = true;
}
else if (NavPoint != null)
{
res = true;
}
else if (NavPortal != null)
{
res = true;
}
else if (PathNode != null)
{
res = true;
@@ -500,6 +534,14 @@ namespace CodeWalker
{
return NavPoly.Position;
}
else if (NavPoint != null)
{
return NavPoint.Position;
}
else if (NavPortal != null)
{
return NavPortal.Position;
}
else if (PathNode != null)
{
return PathNode.Position;
@@ -539,6 +581,14 @@ namespace CodeWalker
{
return Quaternion.Identity;
}
else if (NavPoint != null)
{
return NavPoint.Orientation;
}
else if (NavPortal != null)
{
return Quaternion.Identity;
}
else if (PathNode != null)
{
return Quaternion.Identity;
@@ -578,6 +628,14 @@ namespace CodeWalker
{
return WidgetAxis.XYZ;
}
else if (NavPoint != null)
{
return WidgetAxis.Z;
}
else if (NavPortal != null)
{
return WidgetAxis.None;
}
else if (PathNode != null)
{
return WidgetAxis.None;
@@ -617,6 +675,14 @@ namespace CodeWalker
{
return Vector3.One;
}
else if (NavPoint != null)
{
return Vector3.One;
}
else if (NavPortal != null)
{
return Vector3.One;
}
else if (PathNode != null)
{
return Vector3.One;
@@ -667,13 +733,21 @@ namespace CodeWalker
}
else if (NavPoly != null)
{
//NavPoly.SetPosition(newpos);
NavPoly.SetPosition(newpos);
//if (projectForm != null)
//{
// projectForm.OnWorldNavPolyModified(NavPoly);
//}
}
else if (NavPoint != null)
{
NavPoint.SetPosition(newpos);
}
else if (NavPortal != null)
{
NavPortal.SetPosition(newpos);
}
else if (TrainTrackNode != null)
{
TrainTrackNode.SetPosition(newpos);
@@ -709,6 +783,10 @@ namespace CodeWalker
{
ScenarioNode.SetOrientation(newrot);
}
else if (NavPoint != null)
{
NavPoint.SetOrientation(newrot);
}
else if (Audio != null)
{
Audio.SetOrientation(newrot);