示例#1
0
        public override void OnEnter()
        {
            TransitionToSnapshotData transitionToSnapshotData = new TransitionToSnapshotData();

            transitionToSnapshotData._snapshot    = (Snapshot.IsNone ? "" : Snapshot.Value);
            transitionToSnapshotData._timeToReach = (TimeToReach.IsNone ? 0f : TimeToReach.Value);
            EventManager.Instance.PostEvent(EventName.Value, EventAction.TransitionToSnapshot, transitionToSnapshotData);
            Finish();
        }
示例#2
0
 public void Reset()
 {
     _type                     = OverrideParameterType.Float;
     _floatParameter           = 1f;
     _stringParameter          = "";
     _switchPresetData         = null;
     _dspParameterData         = null;
     _transitionToSnapshotData = null;
 }
示例#3
0
 private bool onSceneTransitionStart(SceneTransitionEvents.TransitionStart evt)
 {
     if (evt.SceneName != PersistToScene && !string.IsNullOrEmpty(SnapshotOnExit.Name))
     {
         TransitionToSnapshotData transitionToSnapshotData = new TransitionToSnapshotData();
         transitionToSnapshotData._snapshot    = SnapshotOnExit.Name;
         transitionToSnapshotData._timeToReach = SnapshotOnExit.TimeToReach;
         EventManager.Instance.PostEvent(EventName, EventAction.TransitionToSnapshot, transitionToSnapshotData);
     }
     return(false);
 }
    EventStatus IEventListener.Process(Fabric.Event zEvent)
    {
        if (_audioMixers.Count == 0)
        {
            return(EventStatus.Not_Handled);
        }
        switch (zEvent.EventAction)
        {
        case EventAction.LoadAudioMixer:
        {
            UnityEngine.Audio.AudioMixer audioMixer3 = Resources.Load((string)zEvent._parameter) as UnityEngine.Audio.AudioMixer;
            if (audioMixer3 != null)
            {
                _audioMixers.Add(audioMixer3);
            }
            break;
        }

        case EventAction.UnloadAudioMixer:
        {
            UnityEngine.Audio.AudioMixer audioMixer2 = _audioMixers.Find((UnityEngine.Audio.AudioMixer x) => x.name.Contains((string)zEvent._parameter));
            if (audioMixer2 != null)
            {
                _audioMixers.Remove(audioMixer2);
                Resources.UnloadAsset(audioMixer2);
            }
            break;
        }

        case EventAction.TransitionToSnapshot:
        {
            TransitionToSnapshotData transitionToSnapshotData = (TransitionToSnapshotData)zEvent._parameter;
            if (transitionToSnapshotData == null)
            {
                break;
            }
            for (int i = 0; i < _audioMixers.Count; i++)
            {
                UnityEngine.Audio.AudioMixer audioMixer = _audioMixers[i];
                if (audioMixer != null)
                {
                    AudioMixerSnapshot audioMixerSnapshot = audioMixer.FindSnapshot(transitionToSnapshotData._snapshot);
                    if (audioMixerSnapshot != null)
                    {
                        audioMixerSnapshot.TransitionTo(transitionToSnapshotData._timeToReach);
                    }
                }
            }
            break;
        }
        }
        return(EventStatus.Handled);
    }
示例#5
0
 private void startMusic()
 {
     if (!string.IsNullOrEmpty(EventOnEnter) && !EventManager.Instance.IsEventActive(EventOnEnter, null))
     {
         EventManager.Instance.PostEvent(EventOnEnter, EventAction.PlaySound, null);
         if (!string.IsNullOrEmpty(SnapshotOnEnter.Name))
         {
             TransitionToSnapshotData transitionToSnapshotData = new TransitionToSnapshotData();
             transitionToSnapshotData._snapshot    = SnapshotOnEnter.Name;
             transitionToSnapshotData._timeToReach = SnapshotOnEnter.TimeToReach;
             EventManager.Instance.PostEvent(EventName, EventAction.TransitionToSnapshot, transitionToSnapshotData);
         }
     }
 }