This commit is contained in:
2025-06-08 12:57:49 +08:00
parent a1199aa1ee
commit 8057a1dcb9
5 changed files with 28475 additions and 16397 deletions

View File

@@ -38,7 +38,7 @@ namespace Ichni.RhythmGame
//存档类
public BaseElement_BM matchedBM { get; set; }
public virtual int HierarchyPriority => 0;
/// <summary>
@@ -53,12 +53,12 @@ namespace Ichni.RhythmGame
this.tags = tags;
EditorManager.instance.beatmapContainer.gameElementList.Add(this);
submoduleList = new List<SubmoduleBase>();
if (isFirstGenerated)
{
SetDefaultSubmodules();
}
SetParent(parentElement);
EditorManager.instance.uiManager.hierarchy.GenerateTab(this, parentElement);
@@ -77,7 +77,7 @@ namespace Ichni.RhythmGame
public virtual void SetEditorSubmodules()
{
}
/// <summary>
@@ -101,7 +101,7 @@ namespace Ichni.RhythmGame
transform.SetParent(parentElement.transform);
}
}
public int CompareTo(GameElement other)
{
return HierarchyPriority.CompareTo(other.HierarchyPriority);
@@ -167,7 +167,7 @@ namespace Ichni.RhythmGame
{
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
var container = inspector.GenerateContainer("Element Info");
//基础信息
var info = container.GenerateSubcontainer(3);
var nameInputField = inspector.GenerateInputField(this, info, GetType().Name + "'s Name", nameof(elementName));
@@ -176,15 +176,15 @@ namespace Ichni.RhythmGame
{
inspector.GenerateCompositeParameterWindow(this, "Tags List", nameof(tags)).SetAsStringList();
});
//次级模块
foreach (var submodule in submoduleList)
{
submodule.SetUpInspector();
}
}
/// <summary>
/// 获取所有子GameElement
/// </summary>
@@ -265,8 +265,8 @@ namespace Ichni.RhythmGame
/// </summary>
/// <param name="attached">父物体</param>
public abstract GameElement DuplicateBM(GameElement attached);
public static List<BaseElement_BM> GetAllAttachedBaseElements(GameElement_BM gameElement, List<BaseElement_BM> clip)
{
Guid elementGuid = gameElement.elementGuid;