54 lines
1.6 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
} |