Skip to content
This repository was archived by the owner on Apr 3, 2022. It is now read-only.

Commit b90aab5

Browse files
committed
Add ObstacleDetection option to DetectTargetRadius 2D and 3D decisions.
1 parent cb8c5fe commit b90aab5

File tree

4 files changed

+10
-0
lines changed

4 files changed

+10
-0
lines changed

Common/Scripts/AI/Graph/Decisions/AIDecisionDetectTargetRadius2DNode.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class AIDecisionDetectTargetRadius2DNode : AIDecisionNode
1414
public float radius = 3f;
1515
public Vector3 detectionOriginOffset = new Vector3(0, 0, 0);
1616
public LayerMask targetLayer;
17+
public bool obstacleDetection = true;
1718
public LayerMask obstacleMask;
1819

1920
public override AIDecision AddDecisionComponent(GameObject go)
@@ -23,6 +24,7 @@ public override AIDecision AddDecisionComponent(GameObject go)
2324
decision.Radius = radius;
2425
decision.DetectionOriginOffset = detectionOriginOffset;
2526
decision.TargetLayer = targetLayer;
27+
decision.ObstacleDetection = obstacleDetection;
2628
decision.ObstacleMask = obstacleMask;
2729
return decision;
2830
}

Common/Scripts/AI/Graph/Decisions/AIDecisionDetectTargetRadius3DNode.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class AIDecisionDetectTargetRadius3DNode : AIDecisionNode
1414
public float radius = 3f;
1515
public Vector3 detectionOriginOffset = new Vector3(0, 0, 0);
1616
public LayerMask targetLayerMask;
17+
public bool obstacleDetection = true;
1718
public LayerMask obstacleMask;
1819
public float targetCheckFrequency = 1f;
1920

@@ -23,6 +24,7 @@ public override AIDecision AddDecisionComponent(GameObject go)
2324
decision.Label = label;
2425
decision.Radius = radius;
2526
decision.DetectionOriginOffset = detectionOriginOffset;
27+
decision.ObstacleDetection = obstacleDetection;
2628
decision.TargetLayerMask = targetLayerMask;
2729
decision.ObstacleMask = obstacleMask;
2830
decision.TargetCheckFrequency = targetCheckFrequency;

Common/Scripts/AI/Graph/Decisions/Editor/AIDecisionDetectTargetRadius2DNodeEditor.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ public class AIDecisionDetectTargetRadius2DNodeEditor : AIDecisionNodeEditor
1010
private SerializedProperty _radius;
1111
private SerializedProperty _detectionOriginOffset;
1212
private SerializedProperty _targetLayer;
13+
private SerializedProperty _obstacleDetection;
1314
private SerializedProperty _obstacleMask;
1415

1516
public override void OnBodyGUI()
@@ -19,13 +20,15 @@ public override void OnBodyGUI()
1920
_radius = serializedObject.FindProperty("radius");
2021
_detectionOriginOffset = serializedObject.FindProperty("detectionOriginOffset");
2122
_targetLayer = serializedObject.FindProperty("targetLayer");
23+
_obstacleDetection = serializedObject.FindProperty("obstacleDetection");
2224
_obstacleMask = serializedObject.FindProperty("obstacleMask");
2325

2426
serializedObject.Update();
2527
EditorGUIUtility.labelWidth = 120;
2628
NodeEditorGUILayout.PropertyField(_radius);
2729
NodeEditorGUILayout.PropertyField(_detectionOriginOffset);
2830
NodeEditorGUILayout.PropertyField(_targetLayer);
31+
NodeEditorGUILayout.PropertyField(_obstacleDetection);
2932
NodeEditorGUILayout.PropertyField(_obstacleMask);
3033
serializedObject.ApplyModifiedProperties();
3134
}

Common/Scripts/AI/Graph/Decisions/Editor/AIDecisionDetectTargetRadius3DNodeEditor.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@ public class AIDecisionDetectTargetRadius3DNodeEditor : AIDecisionNodeEditor
1010
private SerializedProperty _radius;
1111
private SerializedProperty _detectionOriginOffset;
1212
private SerializedProperty _targetLayerMask;
13+
private SerializedProperty _obstacleDetection;
1314
private SerializedProperty _obstacleMask;
1415
private SerializedProperty _targetCheckFrequency;
1516

1617
protected override void SerializeAdditionalProperties()
1718
{
1819
_radius = serializedObject.FindProperty("radius");
1920
_detectionOriginOffset = serializedObject.FindProperty("detectionOriginOffset");
21+
_obstacleDetection = serializedObject.FindProperty("obstacleDetection");
2022
_targetLayerMask = serializedObject.FindProperty("targetLayerMask");
2123
_obstacleMask = serializedObject.FindProperty("obstacleMask");
2224
_targetCheckFrequency = serializedObject.FindProperty("targetCheckFrequency");
@@ -25,6 +27,7 @@ protected override void SerializeAdditionalProperties()
2527
EditorGUIUtility.labelWidth = 150;
2628
NodeEditorGUILayout.PropertyField(_radius);
2729
NodeEditorGUILayout.PropertyField(_detectionOriginOffset);
30+
NodeEditorGUILayout.PropertyField(_obstacleDetection);
2831
NodeEditorGUILayout.PropertyField(_targetLayerMask);
2932
NodeEditorGUILayout.PropertyField(_obstacleMask);
3033
NodeEditorGUILayout.PropertyField(_targetCheckFrequency);

0 commit comments

Comments
 (0)