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(); }
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(); }
public static void ProcessOnDestinationReachedEvent(SequencedActionPlayer SequencedActionPlayer) { foreach (var currentAction in SequencedActionPlayer.GetCurrentActions(true)) { var destinationReachedListeningNode = currentAction as IActionAbortedOnDestinationReached; if (destinationReachedListeningNode != null) { destinationReachedListeningNode.OnDestinationReached(); } } }
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(); }
private void OnCutsceneEndedOrKilled() { CurrentPlayingCutscene = null; }
public AIPatrolSystem(CoreInteractiveObject AssociatedCoreInteractiveObject, AIPatrolSystemDefinition AIPatrolSystemDefinition) { SequencedActionPlayer = new SequencedActionPlayer(AIPatrolSystemDefinition.AIPatrolGraph.AIPatrolGraphActions(AssociatedCoreInteractiveObject), null, null); SequencedActionPlayer.Play(); }