using System; using System.Collections; using System.Collections.Generic; using Lean.Pool; using UnityEngine; namespace Ichni.RhythmGame { public partial class ElementFolder : BaseElement { public List trackList; public static ElementFolder GenerateElement(string name, Guid id, List tags, BaseElement parentElement) { ElementFolder elementFolder = Instantiate(EditorManager.instance.basePrefabs.elementFolder).GetComponent(); 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 = new Beatmap.ElementFolder_BM(elementName, elementGuid, tags, parentElement.matchedBM); } } namespace Beatmap { public class ElementFolder_BM : BaseElement_BM { public ElementFolder_BM() { } public ElementFolder_BM(string elementName, Guid elementGuid, List 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); } } } }