using System; using System.Collections; using System.Collections.Generic; using Dreamteck.Splines; using Lean.Pool; using UnityEngine; namespace Ichni.RhythmGame { public class TrackHeadPoint : BaseElement { public Track track; public TrackTimeSubmoduleMovable trackTimeSubmoduleMovable; public SplinePositioner trackPositioner; public static TrackHeadPoint GenerateElement(string elementName, Guid id, List tags, Track track) { TrackHeadPoint head = Instantiate(EditorManager.instance.basePrefabs.emptyObject, track.transform).AddComponent(); head.Initialize(elementName, id, tags); head.track = track; head.trackPositioner = head.gameObject.AddComponent(); head.trackPositioner.spline = track.trackPathSubmodule.path; head.trackTimeSubmoduleMovable = track.trackTimeSubmodule as TrackTimeSubmoduleMovable; head.SetParent(track); return head; } public void Update() { if (track.timeDurationSubmodule.CheckTimeInDuration(EditorManager.instance.songModule.songTime)) { trackPositioner.SetPercent(trackTimeSubmoduleMovable.headPercent); } } } }