Example #1
0
    void OnSceneGUI()
    {
        PlayerFieldOfView fow = (PlayerFieldOfView)target;

        Handles.color = Color.white;
        Handles.DrawWireArc(fow.transform.position, Vector3.forward, Vector3.up, 360, fow.viewRadius);

        Vector3 viewAngleA = fow.DirFromAngle(-fow.viewAngle / 2f);
        Vector3 viewAngleB = fow.DirFromAngle(fow.viewAngle / 2f);

        Handles.DrawLine(fow.transform.position, fow.transform.position + viewAngleA * fow.viewRadius);
        Handles.DrawLine(fow.transform.position, fow.transform.position + viewAngleB * fow.viewRadius);
    }
Example #2
0
    void OnSceneGUI()
    {
        PlayerFieldOfView fow = (PlayerFieldOfView)target;

        Handles.color = Color.white;
        Handles.DrawWireArc(fow.transform.position, Vector3.up, Vector3.forward, 360, fow.viewRadius);
        Vector3 viewAngleA = fow.DirFromAngle(-fow.viewAngle / 2, false);
        Vector3 viewAngleB = fow.DirFromAngle(fow.viewAngle / 2, false);

        Handles.DrawLine(fow.transform.position, fow.transform.position + viewAngleA * fow.viewRadius);
        Handles.DrawLine(fow.transform.position, fow.transform.position + viewAngleB * fow.viewRadius);

        Handles.color = Color.red;
        foreach (Transform visibleTarget in fow.visibleTargets)
        {
            Handles.DrawLine(fow.transform.position, visibleTarget.position);
        }
    }
    void OnSceneGUI()
    {
        PlayerFieldOfView fov = (PlayerFieldOfView)target;

        Handles.color = Color.white;
        Handles.DrawWireArc(fov.transform.position, Vector3.up, Vector3.forward, 360f, fov.fovRadius);

        Handles.color = Color.red;
        foreach (Transform enemyTransform in fov.enemiesInView)
        {
            Handles.DrawLine(fov.transform.position, enemyTransform.position);
        }

        Vector3 angleA = fov.DirectionFromAngle(fov.transform.eulerAngles.y + (-fov.fovAngle / 2));
        Vector3 angleB = fov.DirectionFromAngle(fov.transform.eulerAngles.y + (fov.fovAngle / 2));

        Handles.color = Color.white;
        Handles.DrawLine(fov.transform.position, fov.transform.position + angleA * fov.fovRadius);
        Handles.DrawLine(fov.transform.position, fov.transform.position + angleB * fov.fovRadius);
    }