Inspector-2

加入Text,以及一些必要注释
This commit is contained in:
SoulliesOfficial
2025-02-12 00:01:23 -05:00
parent f949cd3229
commit 675c571e86
18 changed files with 895 additions and 47 deletions

View File

@@ -5,9 +5,58 @@ using UnityEngine;
namespace Ichni.Editor
{
public class Inspector : StaticWindow
public partial class Inspector : StaticWindow
{
public GameElement connectedGameElement;
public RectTransform inspectorRect;
public List<DynamicUIContainer> containers;
/// <summary>
/// 先清空所有的容器然后为当前的GameElement设置Inspector
/// </summary>
/// <param name="gameElement"></param>
public void SelectGameElement(GameElement gameElement)
{
containers.ForEach(container => Destroy(container.gameObject));
containers.Clear();
connectedGameElement = gameElement;
connectedGameElement.SetUpInspector();
}
}
public partial class Inspector
{
public DynamicUIContainer GenerateContainer(string title)
{
DynamicUIContainer container = Instantiate(EditorManager.instance.basePrefabs.dynamicUIContainer, inspectorRect).GetComponent<DynamicUIContainer>();
container.title.text = title;
containers.Add(container);
return container;
}
public DynamicUIContainer GenerateContainer()
{
DynamicUIContainer container = Instantiate(EditorManager.instance.basePrefabs.dynamicUIContainer, inspectorRect).GetComponent<DynamicUIContainer>();
Destroy(container.title.gameObject);
containers.Add(container);
return container;
}
public DynamicUIInputField GenerateInputField(DynamicUIContainer container, string title, string parameterName)
{
DynamicUIInputField inputField = Instantiate(EditorManager.instance.basePrefabs.inputField, container.rect).GetComponent<DynamicUIInputField>();
inputField.Initialize(title, parameterName);
container.dynamicUIElements.Add(inputField);
return inputField;
}
public DynamicUIText GenerateText(DynamicUIContainer container, string title, string parameterName, bool isAlwaysUpdate = false)
{
DynamicUIText text = Instantiate(EditorManager.instance.basePrefabs.text, container.rect).GetComponent<DynamicUIText>();
text.Initialize(title, parameterName);
text.isAlwaysUpdated = isAlwaysUpdate;
container.dynamicUIElements.Add(text);
return text;
}
}
}