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));
                }
            }
        }
    }
Exemple #3
0
    public static void SetPointColor(PathPointComponent point, Color color)
    {
        var rend = point.GetComponentsInChildren <Renderer> () [0];

        rend.material.color = color;
    }