something & 编辑器指南

This commit is contained in:
2025-04-19 18:59:26 +08:00
parent d7ce55cd04
commit a0f7ec7e15
15 changed files with 4567 additions and 3754 deletions

View File

@@ -10,12 +10,12 @@ namespace Ichni.RhythmGame
{
public List<GameElement> gameElementList;
public BaseElement_BM matchedBM { get; set; }
public BeatmapContainer()
{
gameElementList = new List<GameElement>();
gameElementList = new List<GameElement>();
}
public void SaveBM()
{
matchedBM = new BeatmapContainer_BM(gameElementList);
@@ -25,7 +25,7 @@ namespace Ichni.RhythmGame
{
throw new System.NotImplementedException();
}
public void Refresh()
{
throw new System.NotImplementedException();
@@ -40,17 +40,17 @@ namespace Ichni.RhythmGame
public BeatmapContainer_BM()
{
}
public BeatmapContainer_BM(List<GameElement> gameElementList)
{
elementList = new List<BaseElement_BM>();
gameElementList.ForEach(e =>
{
e.SaveBM();
e.submoduleList.RemoveAll(s=>s == null);
e.submoduleList.RemoveAll(s => s == null);
e.submoduleList.ForEach(s => s.SaveBM());
});
@@ -67,11 +67,20 @@ namespace Ichni.RhythmGame
elementList.ForEach(element =>
{
#if UNITY_EDITOR
if (element == null)
{
Debug.LogError("Null element detected in elementList. Skipping execution.");
return;
}
Debug.Log(element.GetType());
if (LowLoadPriorityTypes.Contains(element.GetType()))
{
return;
}
#endif
if (element is GameElement_BM gameElement)
{
#if UNITY_EDITOR
@@ -79,12 +88,18 @@ namespace Ichni.RhythmGame
#endif
GameElement_BM.identifier.Add(gameElement.elementGuid, gameElement);
}
element.ExecuteBM();
});
elementList.ForEach(element =>
{
if (element == null)
{
Debug.LogError("Null element detected in elementList during low-priority execution. Skipping execution.");
return;
}
if (LowLoadPriorityTypes.Contains(element.GetType()))
{
element.ExecuteBM();