Files
ichni_Creator_Studio/Assets/Scripts/EditorGame/Base/BaseElement.cs
2025-02-16 11:15:42 -05:00

71 lines
1.7 KiB
C#

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; }
/// <summary>
/// 用于生成存档
/// </summary>
public void SaveBM();
/// <summary>
/// 刷新物体的状态
/// </summary>
public void Refresh();
/// <summary>
/// 当物体被删除时执行的方法
/// </summary>
public void OnDelete()
{
throw new NotImplementedException();
}
/// <summary>
/// 删除物体,包括所有子物体
/// </summary>
public void Delete()
{
throw new NotImplementedException();
}
public Inspector inspector => EditorManager.instance.uiManager.inspector;
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
{
/// <summary>
/// 从存档类中生成游戏物体
/// </summary>
public abstract void ExecuteBM();
}
}
}