using System; using System.Collections; using System.Collections.Generic; using System.Linq; using Unity.Mathematics; using UnityEngine; namespace Ichni.RhythmGame { public abstract class AnimationBase : BaseElement { public BaseElement targetObject; public FlexibleReturnType animationReturnType; //public ICanHaveAnimation target; public override void Initialize(string elementName, Guid id, List tags) { base.Initialize(elementName, id, tags); timeDurationSubmodule = new TimeDurationSubmodule(this); } protected abstract void UpdateAnimation(float songTime); protected virtual void Update() { if (timeDurationSubmodule.CheckTimeInDuration(EditorManager.instance.songModule.songTime)) { UpdateAnimation(EditorManager.instance.songModule.songTime); } } } }