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();
}
}
}