public MoveTowardsPlayerStateManager(TrackAndKillPlayerStateBehavior trackAndKillAIbehaviorRef, SoldierAIBehaviorDefinition SoldierAIBehaviorDefinition, CoreInteractiveObject AssociatedInteractiveObject, PlayerObjectStateDataSystem playerObjectStateDataSystem, WeaponFiringAreaSystem WeaponFiringAreaSystem, ISetAIAgentDestinationActionCallback ISetAIAgentDestinationActionCallback, IMoveTowardsPlayerStateManagerWorkflowCallback IMoveTowardsPlayerStateManagerWorkflowCallback) { TrackAndKillAIbehaviorRef = trackAndKillAIbehaviorRef; this.SoldierAIBehaviorDefinition = SoldierAIBehaviorDefinition; this.AssociatedInteractiveObject = AssociatedInteractiveObject; PlayerObjectStateDataSystem = playerObjectStateDataSystem; this.WeaponFiringAreaSystem = WeaponFiringAreaSystem; this.ISetAIAgentDestinationActionCallback = ISetAIAgentDestinationActionCallback; this.IMoveTowardsPlayerStateManagerWorkflowCallback = IMoveTowardsPlayerStateManagerWorkflowCallback; }
public MoveTowardsInterestDirectionStateManager( CoreInteractiveObject AssociatedInteractiveObject, TrackUnknownInterestDirectionSystem TrackUnknownInterestDirectionSystem, SoldierAIBehaviorDefinition SoldierAIBehaviorDefinition, ISetAIAgentDestinationActionCallback ISetAIAgentDestinationActionCallback, Action OnTrackUnknownStateManagerAskedToExit) { this.AssociatedInteractiveObject = AssociatedInteractiveObject; this.TrackUnknownInterestDirectionSystem = TrackUnknownInterestDirectionSystem; this.SoldierAIBehaviorDefinition = SoldierAIBehaviorDefinition; this.ISetAIAgentDestinationActionCallback = ISetAIAgentDestinationActionCallback; this.OnTrackUnknownStateManagerAskedToExit = OnTrackUnknownStateManagerAskedToExit; }
public void Init(CoreInteractiveObject associatedInteractiveObject, SoldierAIBehaviorDefinition SoldierAIBehaviorDefinition, SoldierAIBehaviorExternalCallbacksV2 SoldierAIBehaviorExternalCallbacksV2, Action AskTrackUnknownStateManagerToExitAction) { this.TrackUnknownInterestDirectionSystem = new TrackUnknownInterestDirectionSystem(associatedInteractiveObject); this.StateManagersLookup = new Dictionary <TrackUnknownStateEnum, SoldierStateManager>() { { TrackUnknownStateEnum.MOVE_TOWARDS_INTEREST_DIRECTION, new MoveTowardsInterestDirectionStateManager(associatedInteractiveObject, this.TrackUnknownInterestDirectionSystem, SoldierAIBehaviorDefinition, SoldierAIBehaviorExternalCallbacksV2, AskTrackUnknownStateManagerToExitAction) } }; base.Init(TrackUnknownStateEnum.MOVE_TOWARDS_INTEREST_DIRECTION); }
public ShootingAtPlayerStateManager(TrackAndKillPlayerStateBehavior trackAndKillAIbehaviorRef, PlayerObjectStateDataSystem playerObjectStateDataSystem, CoreInteractiveObject associatedInteractiveObject, SoldierAIBehaviorDefinition SoldierAIBehaviorDefinition, WeaponFiringAreaSystem WeaponFiringAreaSystem, ISetAIAgentDestinationActionCallback ISetAIAgentDestinationActionCallback, IFiringProjectileCallback IFiringProjectileCallback, IShootingAtPlayerWorkflowCallback IShootingAtPlayerWorkflowCallback) { this.TrackAndKillAIbehaviorRef = trackAndKillAIbehaviorRef; PlayerObjectStateDataSystem = playerObjectStateDataSystem; AssociatedInteractiveObject = associatedInteractiveObject; this.SoldierAIBehaviorDefinition = SoldierAIBehaviorDefinition; this.WeaponFiringAreaSystem = WeaponFiringAreaSystem; this.ISetAIAgentDestinationActionCallback = ISetAIAgentDestinationActionCallback; this.IFiringProjectileCallback = IFiringProjectileCallback; this.IShootingAtPlayerWorkflowCallback = IShootingAtPlayerWorkflowCallback; }
public void Init(CoreInteractiveObject AssociatedInteractiveObject, SoldierAIBehaviorDefinition SoldierAIBehaviorDefinition, SoldierAIBehaviorExternalCallbacksV2 SoldierAIBehaviorExternalCallbacksV2 ) { this.PlayerObjectStateDataSystem = new PlayerObjectStateDataSystem(this.OnPlayerObjectJustOnSight, this.OnPlayerObjectJustOutOfSight); this.StateManagersLookup = new Dictionary <SoldierAIStateEnum, SoldierStateManager>() { { SoldierAIStateEnum.PATROLLING, new PatrollingStateManager(AssociatedInteractiveObject, SoldierAIBehaviorDefinition.AIPatrolGraphBuilder, SoldierAIBehaviorExternalCallbacksV2) }, { SoldierAIStateEnum.TRACK_AND_KILL_PLAYER, new TrackAndKillPlayerStateManager(AssociatedInteractiveObject, SoldierAIBehaviorDefinition, this.PlayerObjectStateDataSystem, SoldierAIBehaviorExternalCallbacksV2, this.OnAnySubBehaviorAskedToExit) }, { SoldierAIStateEnum.TRACK_UNKNOWN, new TrackUnknownStateManager(AssociatedInteractiveObject, SoldierAIBehaviorDefinition, SoldierAIBehaviorExternalCallbacksV2, this.OnAnySubBehaviorAskedToExit) } }; base.Init(SoldierAIStateEnum.PATROLLING); }
public void Init(CoreInteractiveObject AssociatedInteractiveObject, SoldierAIBehaviorDefinition SoldierAIBehaviorDefinition, PlayerObjectStateDataSystem PlayerObjectStateDataSystem, SoldierAIBehaviorExternalCallbacksV2 SoldierAIBehaviorExternalCallbacksV2, Action AskTrackAndKillPlayerStateBehaviorExitAction) { this.WeaponFiringAreaSystem = new WeaponFiringAreaSystem(AssociatedInteractiveObject, PlayerObjectStateDataSystem, SoldierAIBehaviorExternalCallbacksV2, SoldierAIBehaviorExternalCallbacksV2); this.StateManagersLookup = new Dictionary <TrackAndKillPlayerStateEnum, SoldierStateManager>() { { TrackAndKillPlayerStateEnum.LISTENING, new ListeningStateManager() }, { TrackAndKillPlayerStateEnum.MOVE_TOWARDS_PLAYER, new MoveTowardsPlayerStateManager(this, SoldierAIBehaviorDefinition, AssociatedInteractiveObject, PlayerObjectStateDataSystem, this.WeaponFiringAreaSystem, SoldierAIBehaviorExternalCallbacksV2, SoldierAIBehaviorExternalCallbacksV2) }, { TrackAndKillPlayerStateEnum.SHOOTING_AT_PLAYER, new ShootingAtPlayerStateManager(this, PlayerObjectStateDataSystem, AssociatedInteractiveObject, SoldierAIBehaviorDefinition, this.WeaponFiringAreaSystem, SoldierAIBehaviorExternalCallbacksV2, SoldierAIBehaviorExternalCallbacksV2, SoldierAIBehaviorExternalCallbacksV2) }, { TrackAndKillPlayerStateEnum.GO_ROUND_PLAYER, new MoveAroundPlayerStateManager(this, PlayerObjectStateDataSystem, AssociatedInteractiveObject, this.WeaponFiringAreaSystem, SoldierAIBehaviorExternalCallbacksV2, SoldierAIBehaviorExternalCallbacksV2) }, { TrackAndKillPlayerStateEnum.MOVE_TO_LAST_SEEN_PLAYER_POSITION, new MoveToLastSeenPlayerPositionStateManager(this, PlayerObjectStateDataSystem, SoldierAIBehaviorExternalCallbacksV2, AskTrackAndKillPlayerStateBehaviorExitAction, SoldierAIBehaviorExternalCallbacksV2) } }; base.Init(TrackAndKillPlayerStateEnum.LISTENING); }
public TrackAndKillPlayerStateManager(CoreInteractiveObject AssociatedInteractiveObject, SoldierAIBehaviorDefinition SoldierAIBehaviorDefinition, PlayerObjectStateDataSystem PlayerObjectStateDataSystem, SoldierAIBehaviorExternalCallbacksV2 SoldierAIBehaviorExternalCallbacksV2, Action AskTrackAndKillPlayerStateBehaviorExitAction) { this._trackAndKillPlayerStateBehavior = new TrackAndKillPlayerStateBehavior(); this._trackAndKillPlayerStateBehavior.Init(AssociatedInteractiveObject, SoldierAIBehaviorDefinition, PlayerObjectStateDataSystem, SoldierAIBehaviorExternalCallbacksV2, AskTrackAndKillPlayerStateBehaviorExitAction); }
public TrackUnknownStateManager(CoreInteractiveObject associatedInteractiveObject, SoldierAIBehaviorDefinition SoldierAIBehaviorDefinition, SoldierAIBehaviorExternalCallbacksV2 SoldierAIBehaviorExternalCallbacksV2, Action AskTrackUnknownStateManagerToExitAction) { this._trackUnknownStateBehavior = new TrackUnknownStateBehavior(); this._trackUnknownStateBehavior.Init(associatedInteractiveObject, SoldierAIBehaviorDefinition, SoldierAIBehaviorExternalCallbacksV2, AskTrackUnknownStateManagerToExitAction); }