Exemplo n.º 1
0
 public void OnChunkLevelEnter(LevelChunkInteractiveObject nextLevelChunkInteractiveObject)
 {
     if (old == null)
     {
         this.old = nextLevelChunkInteractiveObject.GetTransitionableLevelFXType();
         Debug.Log(MyLog.Format("SAME"));
         this.OnNewChunkLevel(this.old, this.current, forceInstantTransition: true);
     }
     else if (current == null)
     {
         if (this.old != nextLevelChunkInteractiveObject.GetTransitionableLevelFXType())
         {
             this.current = nextLevelChunkInteractiveObject.GetTransitionableLevelFXType();
             this.OnNewChunkLevel(this.old, this.current);
         }
     }
     else
     {
         if (this.current != nextLevelChunkInteractiveObject.GetTransitionableLevelFXType())
         {
             this.old     = this.current;
             this.current = nextLevelChunkInteractiveObject.GetTransitionableLevelFXType();
             this.OnNewChunkLevel(this.old, this.current);
         }
     }
 }
Exemplo n.º 2
0
 public void OnChunkLevelEnter(LevelChunkInteractiveObject nextLevelChunkTracker)
 {
     if (!this.currentInsideTracker.Contains(nextLevelChunkTracker))
     {
         this.currentInsideTracker.Add(nextLevelChunkTracker);
         this.CurrentTransitionableLevelFXTypeManager.OnChunkLevelEnter(nextLevelChunkTracker);
     }
 }
Exemplo n.º 3
0
 public void OnChunkLevelExit(LevelChunkInteractiveObject levelChunkTracker)
 {
     this.currentInsideTracker.Remove(levelChunkTracker);
     if (this.currentInsideTracker.Count == 1)
     {
         //If when there is only one chunk tracker, the current tracker considered is not the last one
         if (!this.CurrentTransitionableLevelFXTypeManager.IsCurrentChunkTrackerEqualsTo(this.currentInsideTracker[0]))
         {
             //we transition
             this.CurrentTransitionableLevelFXTypeManager.OnChunkLevelEnter(this.currentInsideTracker[0]);
         }
     }
 }
Exemplo n.º 4
0
        public LevelChunkTrackerSystem(LevelChunkInteractiveObject AssociatedLevelChunkInteractiveObject, LevelChunkInteractiveObjectDefinition LevelChunkInteractiveObjectDefinition,
                                       Action <CoreInteractiveObject> OnLevelChunkTriggerEnterAction, Action <CoreInteractiveObject> OnLevelChunkTriggerExitAction)
        {
            this.LevelChunkTrackerRange = new BoxRangeObjectV2(AssociatedLevelChunkInteractiveObject.InteractiveGameObject.InteractiveGameObjectParent, new BoxRangeObjectInitialization()
            {
                BoxRangeTypeDefinition = new BoxRangeTypeDefinition()
                {
                    Center = LevelChunkInteractiveObjectDefinition.LocalCenter,
                    Size   = LevelChunkInteractiveObjectDefinition.LocalSize
                },
                RangeTypeID = RangeTypeID.NOT_DISPLAYED,
                IsTakingIntoAccountObstacles = false
            }, AssociatedLevelChunkInteractiveObject, nameof(LevelChunkTrackerSystem.LevelChunkTrackerRange));

            this.LevelChunkTrackerRange.RegisterPhysicsEventListener(
                new InteractiveObjectPhysicsEventListenerDelegated((InteractiveObjectPhysicsTriggerInfo) => InteractiveObjectPhysicsTriggerInfo.GetOtherInteractiveObjectTag().IsPlayer, OnLevelChunkTriggerEnterAction, OnLevelChunkTriggerExitAction)
                );
        }
Exemplo n.º 5
0
 public LevelChunkTransitionFXSystem(LevelChunkInteractiveObject associatedPostProcessVolume)
 {
     this.TransitionableLevelFXType = associatedPostProcessVolume.InteractiveGameObject.InteractiveGameObjectParent.GetComponentInChildren <TransitionableLevelFXType>();
     this.TransitionableLevelFXType.Init();
 }
Exemplo n.º 6
0
 public void OnChunkLevelExit(LevelChunkInteractiveObject exitedLevelChunkTracker)
 {
     LevelChunkFXTransitionManager.Get().OnChunkLevelExit(exitedLevelChunkTracker);
 }
Exemplo n.º 7
0
 public void OnChunkLevelEnter(LevelChunkInteractiveObject enteredLevelChunkTracker)
 {
     LevelChunkFXTransitionManager.Get().OnChunkLevelEnter(enteredLevelChunkTracker);
     LevelManager.Get().OnChunkLevelEnter(enteredLevelChunkTracker);
 }
Exemplo n.º 8
0
 public void OnLevelChunkLoaded(LevelZoneChunkID levelZoneChunkID)
 {
     LevelChunkInteractiveObject.DestroyAllDestroyOnStartObjects();
     LevelManager.Get().OnLevelChunkLoaded(levelZoneChunkID);
 }
Exemplo n.º 9
0
 public bool IsCurrentChunkTrackerEqualsTo(LevelChunkInteractiveObject compareChunkInteractiveObject)
 {
     return(this.current != null && this.current == compareChunkInteractiveObject.GetTransitionableLevelFXType());
 }