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, Track track) { TrackHeadPoint head = Instantiate(EditorManager.instance.basePrefabs.emptyObject, track.transform).AddComponent(); head.NewInitialize(elementName, track); head.SetParent(track); return head; } private void NewInitialize(string elementName, Track track) { base.Initialize(elementName); this.track = track; this.trackPositioner = gameObject.AddComponent(); this.trackPositioner.spline = track.trackPathSubmodule.path; this.trackTimeSubmoduleMovable = track.trackTimeSubmodule as TrackTimeSubmoduleMovable; } public void Update() { if (track.timeDurationSubmodule.CheckTimeInDuration(EditorManager.instance.songModule.songTime)) { trackPositioner.SetPercent(trackTimeSubmoduleMovable.headPercent); } } } }