gabry90

Visual Effect Part 2

Mar 13th, 2021 (edited)
1,439
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.42 KB | None | 0 0
  1.         public bool IsVFXAlive
  2.         {
  3.             get { return playing || VFX.aliveParticleCount > 0; }
  4.         }
  5.  
  6.         void Awake()
  7.         {
  8.             VisualEffectSpawnerCallbacks.OnVFXPlay += OnVFXPlay;
  9.             VisualEffectSpawnerCallbacks.OnVFXStop += OnVFXStop;
  10.             VisualEffectSpawnerCallbacks.OnVFXUpdate += OnVFXUpdate;
  11.         }
  12.  
  13.         void OnDestroy()
  14.         {
  15.             VisualEffectSpawnerCallbacks.OnVFXPlay -= OnVFXPlay;
  16.             VisualEffectSpawnerCallbacks.OnVFXStop -= OnVFXStop;
  17.             VisualEffectSpawnerCallbacks.OnVFXUpdate -= OnVFXUpdate;
  18.         }
  19.  
  20.         private void OnVFXPlay(VisualEffect vfxComponent, VFXSpawnerState state, bool isEndSpawner)
  21.         {
  22.             if (vfxComponent.GetInstanceID() != VFX.GetInstanceID())
  23.                 return;
  24.  
  25.             playing = true;
  26.             looping = looping || state.loopState == VFXSpawnerLoopState.Looping;
  27.         }
  28.  
  29.         private void OnVFXStop(VisualEffect vfxComponent, VFXSpawnerState state, bool isEndSpawner)
  30.         {
  31.             if (vfxComponent.GetInstanceID() == VFX.GetInstanceID() && isEndSpawner)
  32.                 playing = false;
  33.         }
  34.  
  35.         private void OnVFXUpdate(VisualEffect vfxComponent, VFXSpawnerState state, bool isEndSpawner)
  36.         {
  37.             if (vfxComponent.GetInstanceID() != VFX.GetInstanceID())
  38.                 return;
  39.  
  40.             //TODO: do update logic here...
  41.         }
Advertisement
Add Comment
Please, Sign In to add comment