public void EngageTrigger(ScrollTrigger trigger) { trigger.bHasTriggered = true; if (trigger.Triggers.Contains(EScrollTriggerType.SwapSprite)) { trigger.PreviousSprite = Renderer.sprite; Renderer.sprite = trigger.TriggerSprite; } if (trigger.Triggers.Contains(EScrollTriggerType.PlayClip) && trigger.TriggerClip != null) { AudioManager.instance.PlayOneShotEffect(trigger.TriggerClip); } if (trigger.Triggers.Contains(EScrollTriggerType.PlayLoopingClip) && trigger.TriggerClip != null) { AudioManager.instance.StartAmbientLoop(trigger.TriggerClip); trigger.PreviousClip = AudioManager.instance.SourceAmbientLoop.clip; } if (trigger.Triggers.Contains(EScrollTriggerType.StopLoopingClip)) { AudioManager.instance.StopAmbientLoop(); } if (trigger.Triggers.Contains(EScrollTriggerType.Crossfade)) { trigger.PreviousClip = AudioManager.instance.SourceMusic.clip; AudioManager.instance.Crossfade(trigger.TriggerClip); } }
public void ReverseTrigger(ScrollTrigger trigger) { trigger.bHasTriggered = false; if (trigger.Triggers.Contains(EScrollTriggerType.SwapSprite) && trigger.TriggerSprite != null) { Renderer.sprite = trigger.PreviousSprite; } if (trigger.Triggers.Contains(EScrollTriggerType.PlayLoopingClip)) { //TODO: Add re-starting previous ambient loops? AudioManager.instance.StopAmbientLoop(); } if (trigger.Triggers.Contains(EScrollTriggerType.Crossfade)) { AudioManager.instance.Crossfade(trigger.PreviousClip); } }