Files
ichni_Creator_Studio/Assets/Scripts/DynamicUI/DynamicUIContainer.cs
SoulliesOfficial 11543b4997 重构inspector!
2025-04-14 17:49:47 -04:00

54 lines
1.6 KiB
C#

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<DynamicUISubcontainer> subcontainers;
public int gridWidth, gridHeight;
public void Initialize(string titleText)
{
this.title.text = titleText;
this.subcontainers = new List<DynamicUISubcontainer>();
}
public DynamicUISubcontainer GenerateSubcontainer(int elementCountPerRow, float height = 100)
{
DynamicUISubcontainer subcontainer =
Instantiate(EditorManager.instance.basePrefabs.dynamicUISubcontainer, rect).
GetComponent<DynamicUISubcontainer>();
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;
}
}
}
}