32 lines
1.0 KiB
C#
32 lines
1.0 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(100, 0),
|
|
new Godot.Vector2(-100, 0),
|
|
new Godot.Vector2(50, 0),
|
|
new Godot.Vector2(-50, 0),
|
|
new Godot.Vector2(0, 0)
|
|
]
|
|
};
|
|
RegisterProcessor(patrolStateProcessor);
|
|
var chaseStateProcessor = new ChaseStateProcessor();
|
|
RegisterProcessor(chaseStateProcessor);
|
|
var lookForWeaponProcessor = new LookForWeaponProcessor();
|
|
RegisterProcessor(lookForWeaponProcessor);
|
|
var fleeProcessor = new FleeProcessor();
|
|
RegisterProcessor(fleeProcessor);
|
|
}
|
|
} |