Vector3 inputfield 改进

This commit is contained in:
SoulliesOfficial
2025-02-12 18:46:46 -05:00
parent 3a1ee5f9ef
commit 8d03acc3cb
30 changed files with 1781 additions and 239 deletions

View File

@@ -1,3 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices.WindowsRuntime;
@@ -22,51 +23,73 @@ namespace Ichni.Editor
containers.Clear();
connectedGameElement = gameElement;
connectedGameElement.SetUpInspector();
}
}
public partial class Inspector
public partial class Inspector
{
public DynamicUIContainer GenerateContainer(string title)
{
DynamicUIContainer container = Instantiate(EditorManager.instance.basePrefabs.dynamicUIContainer, inspectorRect).GetComponent<DynamicUIContainer>();
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>();
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)
public DynamicUIInputField GenerateInputField(IBaseElement baseElement, DynamicUIContainer container,
string title, string parameterName)
{
DynamicUIInputField inputField = Instantiate(EditorManager.instance.basePrefabs.inputField, container.rect).GetComponent<DynamicUIInputField>();
inputField.Initialize(title, parameterName);
DynamicUIInputField inputField = Instantiate(EditorManager.instance.basePrefabs.inputField, container.rect)
.GetComponent<DynamicUIInputField>();
inputField.Initialize(baseElement, title, parameterName);
container.dynamicUIElements.Add(inputField);
return inputField;
}
public DynamicUIVec3InputField GenerateVec3InputField(DynamicUIContainer container, string title, string parameterName){
DynamicUIVec3InputField a=Instantiate(EditorManager.instance.basePrefabs.Vec3inputField,container.rect).GetComponent<DynamicUIVec3InputField>();
a.Initialize(title, parameterName);
container.dynamicUIElements.Add(a);
return a;
}
public DynamicUIText GenerateText(DynamicUIContainer container, string title, string parameterName, bool isAlwaysUpdate = false)
public DynamicUIVector3InputField GenerateVec3InputField(IBaseElement baseElement, DynamicUIContainer container,
string title, string parameterName)
{
DynamicUIText text = Instantiate(EditorManager.instance.basePrefabs.text, container.rect).GetComponent<DynamicUIText>();
text.Initialize(title, parameterName);
DynamicUIVector3InputField vector3InputField =
Instantiate(EditorManager.instance.basePrefabs.Vec3inputField, container.rect)
.GetComponent<DynamicUIVector3InputField>();
vector3InputField.Initialize(baseElement, title, parameterName);
container.dynamicUIElements.Add(vector3InputField);
return vector3InputField;
}
public DynamicUIText 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;
}
public DynamicUIDropdown 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;
}
}
}