using System; using System.Collections; using System.Collections.Generic; using Ichni.RhythmGame.Beatmap; using Lean.Pool; using Sirenix.OdinInspector; using UniRx; using UnityEngine; namespace Ichni.RhythmGame { public partial class ElementFolder : GameElement, IHaveTransformSubmodule, IHaveTimeDurationSubmodule { #region [包含对象] Sub-Elements public List trackList; #endregion #region [子模块接口] Submodules public TransformSubmodule transformSubmodule { get; set; } public TimeDurationSubmodule timeDurationSubmodule { get; set; } #endregion #region [生命周期] Lifecycle & Factory public static ElementFolder GenerateElement(string name, Guid id, List tags, bool isFirstGenerated, GameElement parentElement) { ElementFolder elementFolder = Instantiate(GameManager.Instance.basePrefabs.elementFolder).GetComponent(); elementFolder.Initialize(name, id, tags, isFirstGenerated, parentElement); return elementFolder; } public override void SetDefaultSubmodules() { transformSubmodule = new TransformSubmodule(this); timeDurationSubmodule = new TimeDurationSubmodule(this); } #endregion } }