Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 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;
 }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
 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);
 }
Ejemplo n.º 7
0
 public TrackAndKillPlayerStateManager(CoreInteractiveObject AssociatedInteractiveObject, SoldierAIBehaviorDefinition SoldierAIBehaviorDefinition,
                                       PlayerObjectStateDataSystem PlayerObjectStateDataSystem,
                                       SoldierAIBehaviorExternalCallbacksV2 SoldierAIBehaviorExternalCallbacksV2,
                                       Action AskTrackAndKillPlayerStateBehaviorExitAction)
 {
     this._trackAndKillPlayerStateBehavior = new TrackAndKillPlayerStateBehavior();
     this._trackAndKillPlayerStateBehavior.Init(AssociatedInteractiveObject, SoldierAIBehaviorDefinition, PlayerObjectStateDataSystem, SoldierAIBehaviorExternalCallbacksV2, AskTrackAndKillPlayerStateBehaviorExitAction);
 }
Ejemplo n.º 8
0
 public TrackUnknownStateManager(CoreInteractiveObject associatedInteractiveObject, SoldierAIBehaviorDefinition SoldierAIBehaviorDefinition,
                                 SoldierAIBehaviorExternalCallbacksV2 SoldierAIBehaviorExternalCallbacksV2,
                                 Action AskTrackUnknownStateManagerToExitAction)
 {
     this._trackUnknownStateBehavior = new TrackUnknownStateBehavior();
     this._trackUnknownStateBehavior.Init(associatedInteractiveObject, SoldierAIBehaviorDefinition, SoldierAIBehaviorExternalCallbacksV2, AskTrackUnknownStateManagerToExitAction);
 }