31 lines
1.1 KiB
C#
31 lines
1.1 KiB
C#
using ColdMint.scripts.stateMachine.StateProcessor;
|
|
|
|
namespace ColdMint.scripts.stateMachine;
|
|
|
|
/// <summary>
|
|
/// <para>State machine for patrollers</para>
|
|
/// <para>适用于巡逻者的状态机</para>
|
|
/// </summary>
|
|
public class PatrolStateMachine : StateMachineTemplate
|
|
{
|
|
protected override void OnStart(StateContext context)
|
|
{
|
|
var patrolStateProcessor = new PatrolStateProcessor
|
|
{
|
|
Points =
|
|
[
|
|
new Godot.Vector2(Config.CellSize * 3, 0),
|
|
new Godot.Vector2(-Config.CellSize * 3, 0),
|
|
]
|
|
};
|
|
RegisterProcessor(patrolStateProcessor);
|
|
var chaseStateProcessor = new ChaseStateProcessor();
|
|
RegisterProcessor(chaseStateProcessor);
|
|
var lookForWeaponProcessor = new LookForWeaponProcessor();
|
|
RegisterProcessor(lookForWeaponProcessor);
|
|
var fleeProcessor = new FleeProcessor();
|
|
RegisterProcessor(fleeProcessor);
|
|
var attackStateProcessor = new AttackStateProcessor();
|
|
RegisterProcessor(attackStateProcessor);
|
|
}
|
|
} |