using System; using System.Collections; using System.Collections.Generic; using System.Linq; using Ichni.Editor; using Ichni.RhythmGame.Beatmap; using Sirenix.OdinInspector; using UniRx; using UnityEngine; namespace Ichni.RhythmGame { public interface IBaseElement { public BaseElement_BM matchedBM { get; set; } /// /// 用于生成存档 /// public void SaveBM() { } /// /// 刷新物体的状态 /// public void Refresh() { } /// /// 当物体被删除时执行的方法 /// public void OnDelete() { throw new NotImplementedException(); } /// /// 删除物体,包括所有子物体 /// public void Delete() { throw new NotImplementedException(); } public void SetUpInspector() { } } // public virtual void SetTimeDuration() // { // // } // // public void ApplyTimeDuration() // { // childElementList.ForEach(x => x.ApplyTimeDuration()); // timeDurationSubmodule?.SetDurationFromChildren( // childElementList.Select(x => x.timeDurationSubmodule).ToList()); // } // namespace Beatmap { public abstract class BaseElement_BM { public Guid attachedElementGuid; /// /// 从存档类中生成游戏物体 /// public abstract void ExecuteBM(); } } }