64 lines
2.0 KiB
C#
64 lines
2.0 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
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 = 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<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);
|
|
}
|
|
}
|
|
}
|
|
} |