重构inspector!

This commit is contained in:
SoulliesOfficial
2025-04-14 17:49:47 -04:00
parent bbca8b43fe
commit 11543b4997
81 changed files with 1037 additions and 903 deletions

View File

@@ -39,26 +39,26 @@ namespace Ichni.Editor
return container;
}
public DynamicUIInputField GenerateInputField(DynamicUIContainer container,
public DynamicUIInputField GenerateInputField(DynamicUISubcontainer subcontainer,
string title, string defaultText = "") //不与参数绑定的InputField
{
DynamicUIInputField inputField = Instantiate(EditorManager.instance.basePrefabs.inputField, container.rect)
DynamicUIInputField inputField = Instantiate(EditorManager.instance.basePrefabs.inputField, subcontainer.rect)
.GetComponent<DynamicUIInputField>();
inputField.Initialize(null, title, string.Empty);
inputField.SetDefaultValue(defaultText);
container.dynamicUIElements.Add(inputField);
subcontainer.dynamicUIElements.Add(inputField);
return inputField;
}
public DynamicUIButton GenerateButton(DynamicUIContainer container, string buttonText,
UnityAction function, string title = "null")
public DynamicUIButton GenerateButton(DynamicUISubcontainer subcontainer, string title,
UnityAction function)
{
DynamicUIButton button = Instantiate(EditorManager.instance.basePrefabs.button, container.rect)
DynamicUIButton button = Instantiate(EditorManager.instance.basePrefabs.button, subcontainer.rect)
.GetComponent<DynamicUIButton>();
button.SetText(buttonText, title != "null");
button.SetText(title);
button.Initialize(null, title, string.Empty);
button.ApplyFunction(function);
container.dynamicUIElements.Add(button);
subcontainer.dynamicUIElements.Add(button);
return button;
}
}

View File

@@ -60,8 +60,9 @@ namespace Ichni.Editor
saveClipWindow.Initialize("Save Clip: " + currentElement.elementName, () => clipManagementWindow = null);
var container = saveClipWindow.GenerateContainer();
var clipNameInputField = saveClipWindow.GenerateInputField(container, "Clip Name", currentElement.elementName);
var applyClipButton = saveClipWindow.GenerateButton(container, "Apply", () =>
var clipSettings = container.GenerateSubcontainer(3);
var clipNameInputField = saveClipWindow.GenerateInputField(clipSettings, "Clip Name", currentElement.elementName);
var applyClipButton = saveClipWindow.GenerateButton(clipSettings, "Apply", () =>
{
EditorManager.instance.projectManager.beatmapClipManager.SaveClip(clipNameInputField.GetValue<string>());
});
@@ -92,8 +93,9 @@ namespace Ichni.Editor
loadClipWindow.Initialize("Load Clip", () => clipManagementWindow = null);
var container = loadClipWindow.GenerateContainer();
var clipNameInputField = loadClipWindow.GenerateInputField(container, "Clip Name");
var applyClipButton = loadClipWindow.GenerateButton(container, "Apply", () =>
var clipSettings = container.GenerateSubcontainer(3);
var clipNameInputField = loadClipWindow.GenerateInputField(clipSettings, "Clip Name");
var applyClipButton = loadClipWindow.GenerateButton(clipSettings, "Apply", () =>
{
EditorManager.instance.projectManager.beatmapClipManager.LoadClip(clipNameInputField.GetValue<string>());
});
@@ -111,7 +113,8 @@ namespace Ichni.Editor
beatmapToolsWindow.Initialize("Beatmap Tools", () => clipManagementWindow = null);
var container = beatmapToolsWindow.GenerateContainer("Note Tools");
var applyTimeOnNameButton = beatmapToolsWindow.GenerateButton(container, "Apply Time On Note Name", () =>
var beatmapToolsSettings = container.GenerateSubcontainer(3);
var applyTimeOnNameButton = beatmapToolsWindow.GenerateButton(beatmapToolsSettings, "Apply Time On Note Name", () =>
{
List<NoteBase> allNotes = EditorManager.instance.beatmapContainer.gameElementList.FindAll(x => x is NoteBase).ConvertAll(x => x as NoteBase);
List<Tap> allTaps = allNotes.FindAll(x => x is Tap).ConvertAll(x => x as Tap);