using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; namespace Ichni.Editor { public class GeneralSecondaryWindow : MovableWindow { public RectTransform WindowRect { get; set; } public List Containers { get; set; } public void Initialize(string titleText, UnityAction closeAction = null) { WindowRect = windowRect; Containers = new List(); InitializeWindow(titleText, closeAction); } public DynamicUIContainer GenerateContainer(string title) { DynamicUIContainer container = Instantiate(EditorManager.instance.basePrefabs.dynamicUIContainer, WindowRect) .GetComponent(); container.title.text = title; Containers.Add(container); return container; } public DynamicUIContainer GenerateContainer() { DynamicUIContainer container = Instantiate(EditorManager.instance.basePrefabs.dynamicUIContainer, WindowRect) .GetComponent(); Destroy(container.title.gameObject); Containers.Add(container); return container; } public DynamicUIInputField GenerateInputField(DynamicUIContainer container, string title, string defaultText = "") //不与参数绑定的InputField { DynamicUIInputField inputField = Instantiate(EditorManager.instance.basePrefabs.inputField, container.rect) .GetComponent(); inputField.Initialize(null, title, string.Empty); inputField.SetDefaultValue(defaultText); container.dynamicUIElements.Add(inputField); return inputField; } public DynamicUIButton GenerateButton(DynamicUIContainer container, string buttonText, UnityAction function, string title = "null") { DynamicUIButton button = Instantiate(EditorManager.instance.basePrefabs.button, container.rect) .GetComponent(); button.SetText(buttonText, title != "null"); button.Initialize(null, title, string.Empty); button.ApplyFunction(function); container.dynamicUIElements.Add(button); return button; } } }