UnbuckleOperator.cs 890 B

1234567891011121314151617181920212223242526272829
  1. using Content.Server.Buckle.Systems;
  2. namespace Content.Server.NPC.HTN.PrimitiveTasks.Operators.Combat;
  3. public sealed partial class UnbuckleOperator : HTNOperator
  4. {
  5. private BuckleSystem _buckle = default!;
  6. [DataField("shutdownState")]
  7. public HTNPlanState ShutdownState { get; private set; } = HTNPlanState.TaskFinished;
  8. public override void Initialize(IEntitySystemManager sysManager)
  9. {
  10. base.Initialize(sysManager);
  11. _buckle = sysManager.GetEntitySystem<BuckleSystem>();
  12. }
  13. public override void Startup(NPCBlackboard blackboard)
  14. {
  15. base.Startup(blackboard);
  16. var owner = blackboard.GetValue<EntityUid>(NPCBlackboard.Owner);
  17. _buckle.TryUnbuckle(owner, owner, false);
  18. }
  19. public override HTNOperatorStatus Update(NPCBlackboard blackboard, float frameTime)
  20. {
  21. return HTNOperatorStatus.Finished;
  22. }
  23. }