mirror of
https://github.com/tym1116/BH3.git
synced 2025-12-16 08:25:20 +01:00
64 lines
1.6 KiB
C#
64 lines
1.6 KiB
C#
using UnityEngine;
|
|
|
|
namespace CinemaDirector
|
|
{
|
|
[TimelineTrack("Curve Track", TimelineTrackGenre.ActorTrack, new CutsceneItemGenre[] { CutsceneItemGenre.CurveClipItem })]
|
|
public class CurveTrack : TimelineTrack, IActorTrack
|
|
{
|
|
public Transform Actor
|
|
{
|
|
get
|
|
{
|
|
ActorTrackGroup actorTrackGroup = base.TrackGroup as ActorTrackGroup;
|
|
if (actorTrackGroup == null)
|
|
{
|
|
Debug.LogError("No ActorTrackGroup found on parent.", this);
|
|
return null;
|
|
}
|
|
return actorTrackGroup.Actor;
|
|
}
|
|
}
|
|
|
|
public override void UpdateTrack(float time, float deltaTime)
|
|
{
|
|
elapsedTime = time;
|
|
TimelineItem[] timelineItems = GetTimelineItems();
|
|
foreach (TimelineItem timelineItem in timelineItems)
|
|
{
|
|
CinemaActorClipCurve cinemaActorClipCurve = timelineItem as CinemaActorClipCurve;
|
|
if (cinemaActorClipCurve != null)
|
|
{
|
|
cinemaActorClipCurve.SampleTime(time);
|
|
}
|
|
}
|
|
}
|
|
|
|
public override void SetTime(float time)
|
|
{
|
|
elapsedTime = time;
|
|
TimelineItem[] timelineItems = GetTimelineItems();
|
|
foreach (TimelineItem timelineItem in timelineItems)
|
|
{
|
|
CinemaActorClipCurve cinemaActorClipCurve = timelineItem as CinemaActorClipCurve;
|
|
if (cinemaActorClipCurve != null)
|
|
{
|
|
cinemaActorClipCurve.SampleTime(time);
|
|
}
|
|
}
|
|
}
|
|
|
|
public override void Stop()
|
|
{
|
|
TimelineItem[] timelineItems = GetTimelineItems();
|
|
foreach (TimelineItem timelineItem in timelineItems)
|
|
{
|
|
CinemaActorClipCurve cinemaActorClipCurve = timelineItem as CinemaActorClipCurve;
|
|
if (cinemaActorClipCurve != null)
|
|
{
|
|
cinemaActorClipCurve.Reset();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|