using System; using System.Collections; using System.Collections.Generic; using Lean.Pool; using UnityEngine; namespace Ichni.RhythmGame { public class SubstantialObject : BaseElement { public string themeBundleName, objectName; public static SubstantialObject GenerateElement(string elementName, Guid id, List tags, string themeBundleName, string objectName, Vector3 position, Vector3 eulerAngles, Vector3 scale, BaseElement parent, bool isFirstGenerated = true) { GameObject themeBundleObject = ThemeBundleManager.instance.GetObject(themeBundleName, objectName); SubstantialObject substantialObject = Instantiate(themeBundleObject, parent.transform).GetComponent(); substantialObject.Initialize(elementName, id, tags); substantialObject.transformSubmodule = new TransformSubmodule(substantialObject, position, eulerAngles, scale); substantialObject.timeDurationSubmodule = new TimeDurationSubmodule(substantialObject); substantialObject.colorSubmodule = new ColorSubmodule(substantialObject); substantialObject.SetParent(parent); return substantialObject; } } }