SHADE_Y3/Assets/Scripts/Gameplay/AIBehaviour/AIRework/States/IdleState.cs

48 lines
906 B
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SHADE;
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
{
2023-03-24 13:26:18 +08:00
public class IdleState: AIBaseState
{
2023-03-24 13:26:18 +08:00
float timer = 0.0f;
2023-03-24 13:26:18 +08:00
public IdleState(StateMachine machine): base(machine)
{
stateName = "Idle";
}
public override void OnEnter()
{
2023-03-24 13:26:18 +08:00
timer = 0.0f;
}
2023-03-24 13:26:18 +08:00
public override void update()
{
timer += Time.DeltaTimeF;
if(timer >= ai.idleDuration)
{
machine.SetState(typeof(PatrolState));
}
if(ai.ShouldTransitAlert())
{
machine.SetState(typeof(AlertState));
}
}
2023-03-24 13:26:18 +08:00
public override void fixedUpdate()
{
}
}
}