Skip to content

Commit 95f1cc2

Browse files
Set game to combat state when critter detects player
1 parent c70f560 commit 95f1cc2

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/Actions/ChasingTargetAction.asset

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ MonoBehaviour:
1414
m_EditorClassIdentifier:
1515
_targetTransform: {fileID: 11400000, guid: 35fc4039342b6ba458d0d4429e89ee74, type: 2}
1616
_chasingSpeed: 2
17+
_gameState: {fileID: 11400000, guid: 159f9c22d98e249ceb08f2c5de2311a4, type: 2}

UOP1_Project/Assets/Scripts/Characters/StateMachine/Actions/ChasingTargetActionSO.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@ public class ChasingTargetActionSO : StateActionSO
1111

1212
[Tooltip("NPC chasing speed")]
1313
[SerializeField] private float _chasingSpeed = default;
14+
[SerializeField] private GameStateSO _gameState = default;
1415

1516
public Vector3 TargetPosition => _targetTransform.Transform.position;
1617
public float ChasingSpeed => _chasingSpeed;
1718

18-
protected override StateAction CreateAction() => new ChasingTargetAction();
19+
protected override StateAction CreateAction() => new ChasingTargetAction(_gameState);
1920
}
2021

2122
public class ChasingTargetAction : StateAction
@@ -24,6 +25,12 @@ public class ChasingTargetAction : StateAction
2425
private ChasingTargetActionSO _config;
2526
private NavMeshAgent _agent;
2627
private bool _isActiveAgent;
28+
private GameStateSO _gameState = default;
29+
30+
public ChasingTargetAction(GameStateSO gameState)
31+
{
32+
_gameState = gameState;
33+
}
2734

2835
public override void Awake(StateMachine stateMachine)
2936
{
@@ -46,6 +53,12 @@ public override void OnStateEnter()
4653
if (_isActiveAgent)
4754
{
4855
_agent.speed = _config.ChasingSpeed;
56+
_gameState.UpdateGameState(GameState.Combat);
4957
}
5058
}
59+
60+
public override void OnStateExit()
61+
{
62+
_gameState.ResetToPreviousGameState();
63+
}
5164
}

0 commit comments

Comments
 (0)