using System; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.Serialization; using UnityEngine.UI; namespace Ichni.Editor { public class DynamicUIContainer : MonoBehaviour { public TMP_Text title; public RectTransform rect; public List subcontainers; public int gridWidth, gridHeight; public void Initialize(string titleText) { this.title.text = titleText; this.subcontainers = new List(); } public DynamicUISubcontainer GenerateSubcontainer(int elementCountPerRow, float height = 100) { DynamicUISubcontainer subcontainer = Instantiate(EditorManager.instance.basePrefabs.dynamicUISubcontainer, rect). GetComponent(); subcontainer.Initialize(this, elementCountPerRow, height); subcontainers.Add(subcontainer); return subcontainer; } public Vector2Int GetGrid(int elementCountPerRow, int heightUnit) { return new Vector2Int(600 / elementCountPerRow, 100 * heightUnit); } public void CheckGrid(Vector2Int newGrid) { if(newGrid.x > gridWidth) { gridWidth = newGrid.x; } if(newGrid.y > gridHeight) { gridHeight = newGrid.y; } } } }