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); }
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); }