Files
ichni_Creator_Studio/Assets/Scripts/GameElements/ElementFolder/ElementFolder.cs
SoulliesOfficial 1be8a5a900 基础内容-10
保存测试
2025-02-07 10:49:26 -05:00

67 lines
2.2 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using Ichni.RhythmGame.Beatmap;
using Lean.Pool;
using UnityEngine;
namespace Ichni.RhythmGame
{
public partial class ElementFolder : BaseElement
{
public List<Track> trackList;
public static ElementFolder GenerateElement(string name, Guid id, List<string> tags, BaseElement parentElement)
{
ElementFolder elementFolder = Instantiate(EditorManager.instance.basePrefabs.elementFolder).GetComponent<ElementFolder>();
elementFolder.Initialize(name, id, tags);
elementFolder.SetParent(parentElement);
elementFolder.transformSubmodule = new TransformSubmodule(elementFolder);
elementFolder.timeDurationSubmodule = new TimeDurationSubmodule(elementFolder);
//elementFolder.GenerateTab(parentElement);
elementFolder.SetTransformObserver();
return elementFolder;
}
}
public partial class ElementFolder
{
public override void SaveBM()
{
matchedBM = parentElement != null ?
new ElementFolder_BM(elementName, elementGuid, tags, parentElement.matchedBM) :
new ElementFolder_BM(elementName, elementGuid, tags, null);
}
}
namespace Beatmap
{
public class ElementFolder_BM : BaseElement_BM
{
public ElementFolder_BM()
{
}
public ElementFolder_BM(string elementName, Guid elementGuid, List<string> tags, BaseElement_BM attachedElement)
: base(elementName, elementGuid, tags, attachedElement)
{
}
public override void ExecuteBM()
{
matchedElement = ElementFolder.GenerateElement(elementName, elementGuid, tags, GetElement(attachedElementGuid));
}
public override BaseElement DuplicateBM(BaseElement parent)
{
return ElementFolder.GenerateElement(elementName, elementGuid, tags, parent);
}
}
}
}