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(DynamicUISubcontainer subcontainer, string title, string defaultText = "") //不与参数绑定的InputField { DynamicUIInputField inputField = Instantiate(EditorManager.instance.basePrefabs.inputField, subcontainer.rect) .GetComponent(); inputField.Initialize(null, title, string.Empty); inputField.SetDefaultValue(defaultText); subcontainer.dynamicUIElements.Add(inputField); return inputField; } public DynamicUIButton GenerateButton(DynamicUISubcontainer subcontainer, string title, UnityAction function) { DynamicUIButton button = Instantiate(EditorManager.instance.basePrefabs.button, subcontainer.rect) .GetComponent(); button.SetText(title); button.Initialize(null, title, string.Empty); button.ApplyFunction(function); subcontainer.dynamicUIElements.Add(button); return button; } public DynamicUIToggle GenerateToggle(DynamicUISubcontainer subcontainer, string title, bool defaultState = false) { DynamicUIToggle toggle = Instantiate(EditorManager.instance.basePrefabs.toggle, subcontainer.rect) .GetComponent(); toggle.Initialize(null, title, string.Empty); toggle.toggle.isOn = defaultState; subcontainer.dynamicUIElements.Add(toggle); return toggle; } } }