Inspector内容开始填充完善

This commit is contained in:
SoulliesOfficial
2025-02-17 14:46:14 -05:00
parent d77e1a0f70
commit 8d4772532f
84 changed files with 4340 additions and 208 deletions

View File

@@ -20,12 +20,16 @@ namespace Ichni.Editor
/// 先清空所有的容器然后为当前的GameElement设置Inspector
/// </summary>
/// <param name="gameElement"></param>
public void SelectGameElement(GameElement gameElement)
public void SetInspector(GameElement gameElement)
{
ClearInspector();
connectedGameElement = gameElement;
connectedGameElement.SetUpInspector();
}
public void ClearInspector()
{
containers.ForEach(container => Destroy(container.gameObject));
containers.Clear();
connectedGameElement = gameElement;
connectedGameElement.SetUpInspector();
}
}
@@ -123,27 +127,48 @@ namespace Ichni.Editor
container.dynamicUIElements.Add(colorPicker);
return colorPicker;
}
public DynamicUIHintText GenerateText(IBaseElement baseElement, DynamicUIContainer container, string content)
{
DynamicUIHintText parameterText = Instantiate(EditorManager.instance.basePrefabs.text, container.rect)
.GetComponent<DynamicUIHintText>();
parameterText.Initialize(baseElement, string.Empty, string.Empty);
parameterText.SetContent(content);
container.dynamicUIElements.Add(parameterText);
return parameterText;
}
public DynamicUIText GenerateText(IBaseElement baseElement, DynamicUIContainer container, string title,
public DynamicUIParameterText GenerateText(IBaseElement baseElement, DynamicUIContainer container, string title,
string parameterName, bool isAlwaysUpdate = false)
{
DynamicUIText text = Instantiate(EditorManager.instance.basePrefabs.text, container.rect)
.GetComponent<DynamicUIText>();
text.Initialize(baseElement, title, parameterName);
text.isAlwaysUpdated = isAlwaysUpdate;
container.dynamicUIElements.Add(text);
return text;
DynamicUIParameterText parameterText = Instantiate(EditorManager.instance.basePrefabs.text, container.rect)
.GetComponent<DynamicUIParameterText>();
parameterText.Initialize(baseElement, title, parameterName);
parameterText.isAlwaysUpdated = isAlwaysUpdate;
container.dynamicUIElements.Add(parameterText);
return parameterText;
}
public DynamicUIDropdown GenerateDropdown(IBaseElement baseElement, DynamicUIContainer container, string title,
public DynamicUIEnumDropdown GenerateDropdown(IBaseElement baseElement, DynamicUIContainer container, string title,
Type enumType, string parameterName)
{
DynamicUIDropdown dropdown = Instantiate(EditorManager.instance.basePrefabs.dropdown, container.rect)
.GetComponent<DynamicUIDropdown>();
dropdown.SetUpEnum(enumType);
dropdown.Initialize(baseElement, title, parameterName);
container.dynamicUIElements.Add(dropdown);
return dropdown;
DynamicUIEnumDropdown enumDropdown = Instantiate(EditorManager.instance.basePrefabs.enumDropdown, container.rect)
.GetComponent<DynamicUIEnumDropdown>();
enumDropdown.SetUpEnum(enumType);
enumDropdown.Initialize(baseElement, title, parameterName);
container.dynamicUIElements.Add(enumDropdown);
return enumDropdown;
}
public DynamicUIStringListDropdown GenerateDropdown(IBaseElement baseElement, DynamicUIContainer container, string title,
List<string> stringList, string parameterName)
{
DynamicUIStringListDropdown stringListDropdown = Instantiate(EditorManager.instance.basePrefabs.stringListDropdown, container.rect)
.GetComponent<DynamicUIStringListDropdown>();
stringListDropdown.SetUpStringList(stringList);
stringListDropdown.Initialize(baseElement, title, parameterName);
container.dynamicUIElements.Add(stringListDropdown);
return stringListDropdown;
}
}
}