Aetheria/Assets/Wwise/Timeline/Runtime/AkTimelineRtpcTrack.cs
2021-04-30 07:09:07 +01:00

37 lines
1.5 KiB
C#

#if !(UNITY_DASHBOARD_WIDGET || UNITY_WEBPLAYER || UNITY_WII || UNITY_WIIU || UNITY_NACL || UNITY_FLASH || UNITY_BLACKBERRY) // Disable under unsupported platforms.
#if !UNITY_2019_1_OR_NEWER
#define AK_ENABLE_TIMELINE
#endif
#if AK_ENABLE_TIMELINE
[UnityEngine.Timeline.TrackColor(0.32f, 0.13f, 0.13f)]
// Specifies the type of Playable Asset this track manages
[UnityEngine.Timeline.TrackClipType(typeof(AkTimelineRtpcPlayable))]
// Use if the track requires a binding to a scene object or asset
[UnityEngine.Timeline.TrackBindingType(typeof(UnityEngine.GameObject))]
public class AkTimelineRtpcTrack : UnityEngine.Timeline.TrackAsset
{
public override UnityEngine.Playables.Playable CreateTrackMixer(UnityEngine.Playables.PlayableGraph graph, UnityEngine.GameObject gameObject, int inputCount)
{
var playable = UnityEngine.Playables.ScriptPlayable<AkTimelineRtpcPlayableBehaviour>.Create(graph, inputCount);
var clips = GetClips();
foreach (var clip in clips)
{
var rtpcPlayable = (clip.asset as AkTimelineRtpcPlayable);
rtpcPlayable.owningClip = clip;
rtpcPlayable.SetupClipDisplay();
}
return playable;
}
public void OnValidate()
{
var clips = GetClips();
foreach (var clip in clips)
(clip.asset as AkTimelineRtpcPlayable).SetupClipDisplay();
}
}
#endif // AK_ENABLE_TIMELINE
#endif // #if ! (UNITY_DASHBOARD_WIDGET || UNITY_WEBPLAYER || UNITY_WII || UNITY_WIIU || UNITY_NACL || UNITY_FLASH || UNITY_BLACKBERRY) // Disable under unsupported platforms.