Exemple #1
0
        public void PlayCutscene(ASequencedAction[] SequencedActions, Action OnCutsceneEnded = null, Action OnCutsceneKilled = null)
        {
            //A local cutscene is already playing
            if (CurrentPlayingCutscene != null)
            {
                CurrentPlayingCutscene.Kill();
            }

            CurrentPlayingCutscene = new SequencedActionPlayer(SequencedActions,
                                                               () =>
            {
                OnCutsceneEndedOrKilled();
                if (OnCutsceneEnded != null)
                {
                    OnCutsceneEnded.Invoke();
                }
            },
                                                               () =>
            {
                OnCutsceneEndedOrKilled();
                if (OnCutsceneKilled != null)
                {
                    OnCutsceneKilled.Invoke();
                }
            });
            CurrentPlayingCutscene.Play();
        }
Exemple #2
0
 public AIPatrolSystem(CoreInteractiveObject AssociatedInteractiveObject,
                       AIPatrolGraphBuilder AIPatrolGraphBuilder,
                       Action <IAgentMovementCalculationStrategy> coreInteractiveObjectDestinationCallback = null, Action <AIMovementSpeedAttenuationFactor> aiSpeedAttenuationFactorCallback = null)
 {
     SequencedActionPlayer = new SequencedActionPlayer(AIPatrolGraphBuilder.GetPatrolGraphSequencedActions(
                                                           AssociatedInteractiveObject, new AIPatrolGraphRuntimeCallbacks(coreInteractiveObjectDestinationCallback, aiSpeedAttenuationFactorCallback)),
                                                       null, null);
     SequencedActionPlayer.Play();
 }
Exemple #3
0
 public static void ProcessOnDestinationReachedEvent(SequencedActionPlayer SequencedActionPlayer)
 {
     foreach (var currentAction in SequencedActionPlayer.GetCurrentActions(true))
     {
         var destinationReachedListeningNode = currentAction as IActionAbortedOnDestinationReached;
         if (destinationReachedListeningNode != null)
         {
             destinationReachedListeningNode.OnDestinationReached();
         }
     }
 }
Exemple #4
0
        private void StartTest()
        {
            this.TestControllerConfiguration.TestControllerDefinition.StartTest = false;
            var aTestScenarioDefinition = this.TestControllerConfiguration.TestControllerDefinition.aTestScenarioDefinition;

            this.TestEntitiesPrefabInstance = GameObject.Instantiate(aTestScenarioDefinition.TestEntitiesPrefab);
            aTestScenarioDefinition.BeforeObjectInitialization();
            RangeObjectV2Manager.InitializeAllRangeObjects();
            InteractiveObjectV2Manager.Get().InitializeAllInteractiveObjectsInitializer();

            /// By default player has infinite health
            PlayerInteractiveObjectManager.Get().PlayerInteractiveObject.DealDamage(9999999, null);

            this.SequencedActionPlayer = new SequencedActionPlayer(aTestScenarioDefinition.BuildScenarioActions());
            this.SequencedActionPlayer.Play();
        }
Exemple #5
0
 private void OnCutsceneEndedOrKilled()
 {
     CurrentPlayingCutscene = null;
 }
Exemple #6
0
 public AIPatrolSystem(CoreInteractiveObject AssociatedCoreInteractiveObject, AIPatrolSystemDefinition AIPatrolSystemDefinition)
 {
     SequencedActionPlayer = new SequencedActionPlayer(AIPatrolSystemDefinition.AIPatrolGraph.AIPatrolGraphActions(AssociatedCoreInteractiveObject), null, null);
     SequencedActionPlayer.Play();
 }