public void SetComponent(PathPointComponent c) { component = c; component.point = this; var quad = component.transform.GetChild(0); var layerName = PathPoint.layer[normal]; quad.gameObject.layer = LayerMask.NameToLayer(layerName); component.gameObject.name = layerName; }
public void CheckRay(PathPointComponent pointComponent) { if (lastPoint != pointComponent) { CleanAll(); isDebugDone = false; lastPoint = pointComponent; } if (isDebugDone) { return; } isDebugDone = true; var point = pointComponent.point; Vector3[] directions = { point.component.transform.transform.forward, point.component.transform.transform.right, -point.component.transform.transform.forward, -point.component.transform.transform.right }; foreach (var dir in directions) { var pos = point.position + dir; var nextPoints = Utility.getPointsAtWorldPos(pos, point.normal); var screenPoint = Camera.main.WorldToScreenPoint(pos); screenPoint.z = 0; var ray = Camera.main.ScreenPointToRay(screenPoint); AddDebugLine(ray); if (paintNeighbours) { foreach (var nextPoint in nextPoints) { Utility.SetPointColor(nextPoint.component, new Color(1.0f, .2f, 0)); } } } }
public static void SetPointColor(PathPointComponent point, Color color) { var rend = point.GetComponentsInChildren <Renderer> () [0]; rend.material.color = color; }