Files
ichni_Creator_Studio/Assets/Scripts/DynamicUI/DynamicUIContainer.cs

37 lines
1.6 KiB
C#
Raw Normal View History

using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
2025-02-11 22:58:56 -05:00
using UnityEngine.Serialization;
using UnityEngine.UI;
2025-02-11 22:58:56 -05:00
namespace Ichni.Editor
{
2025-02-11 22:58:56 -05:00
public class DynamicUIContainer : MonoBehaviour
{
Inspector Inspector => EditorManager.instance.uiManager.inspector;
public TMP_Text title;
public GridLayoutGroup gridLayoutGroup;
2025-02-11 22:58:56 -05:00
public List<DynamicUIElement> dynamicUIElements = new List<DynamicUIElement>();
[FormerlySerializedAs("container")] public RectTransform rect;
public void SetDeviver(int num){//rect 500
gridLayoutGroup.cellSize=new Vector2(Inspector.inspectorRect.rect.width/num,gridLayoutGroup.cellSize.y);
bool CanCompress=true;//这是是想着如果没有按钮以外的东西就把y值调小一点的
foreach(var i in GetComponentsInChildren<DynamicUIElement>()){
i.DeviverSet(num);
if(i.GetType()!=typeof(DynamicUIButton))CanCompress=false;
if(i.GetType()==typeof(DynamicUIBaseColorPicker)||
i.GetType()==typeof(DynamicUIEmissionColorPicker)){//一个container可能不会有除了color以外的的东西吧
gridLayoutGroup.cellSize=new Vector2(gridLayoutGroup.cellSize.x,gridLayoutGroup.cellSize.y*2.5f);
}
}
if(CanCompress)gridLayoutGroup.cellSize=new Vector2(gridLayoutGroup.cellSize.x,gridLayoutGroup.cellSize.y/2);
//Danger写了好多特判
}
}
2025-02-11 22:58:56 -05:00
}