public GameObject GetActor() { GameObject actor = null; if (transform.parent != null) { CurveTrack track = transform.parent.GetComponentInParent <CurveTrack>(); if (track != null) { Transform actorTransform = track.GetActor(); if (actorTransform != null) { actor = actorTransform.gameObject; } } } return(actor); }
internal static CinemaActorClipCurve CreateActorClipCurve(CurveTrack track) { string name = DirectorHelper.getCutsceneItemName(track.gameObject, CURVE_CLIP_NAME_DEFAULT, typeof(CinemaActorClipCurve)); GameObject item = new GameObject(name); item.transform.parent = track.transform; CinemaActorClipCurve clip = item.AddComponent<CinemaActorClipCurve>(); SortedDictionary<float, CinemaActorClipCurve> sortedItems = new SortedDictionary<float, CinemaActorClipCurve>(); foreach (CinemaActorClipCurve c in track.TimelineItems) { sortedItems.Add(c.Firetime, c); } float latestTime = 0; float length = DEFAULT_CURVE_LENGTH; foreach (CinemaActorClipCurve c in sortedItems.Values) { if (latestTime >= c.Firetime) { latestTime = Mathf.Max(latestTime, c.Firetime + c.Duration); } else { length = c.Firetime - latestTime; break; } } clip.Firetime = latestTime; clip.Duration = length; return clip; }
public PasteContext(Vector2 mousePosition, CurveTrack track) { this.mousePosition = mousePosition; this.track = track; }
private void addNewCurveItem(CurveTrack track) { Undo.RegisterCreatedObjectUndo(CutsceneItemFactory.CreateActorClipCurve(track), "Created Actor Clip Curve"); }