예제 #1
0
 public TrackUnknownStateManager(CoreInteractiveObject associatedInteractiveObject, SoldierAIBehaviorDefinition SoldierAIBehaviorDefinition,
                                 SoldierAIBehaviorExternalCallbacksV2 SoldierAIBehaviorExternalCallbacksV2,
                                 Action AskTrackUnknownStateManagerToExitAction)
 {
     this._trackUnknownStateBehavior = new TrackUnknownStateBehavior();
     this._trackUnknownStateBehavior.Init(associatedInteractiveObject, SoldierAIBehaviorDefinition, SoldierAIBehaviorExternalCallbacksV2, AskTrackUnknownStateManagerToExitAction);
 }
예제 #2
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);
 }
예제 #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);
        }
예제 #4
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);
        }
예제 #5
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);
 }