65 lines
2.5 KiB
C#
65 lines
2.5 KiB
C#
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<DynamicUIContainer> Containers { get; set; }
|
|
|
|
public void Initialize(string titleText, UnityAction closeAction = null)
|
|
{
|
|
WindowRect = windowRect;
|
|
Containers = new List<DynamicUIContainer>();
|
|
|
|
InitializeWindow(titleText, closeAction);
|
|
}
|
|
|
|
public DynamicUIContainer GenerateContainer(string title)
|
|
{
|
|
DynamicUIContainer container =
|
|
Instantiate(EditorManager.instance.basePrefabs.dynamicUIContainer, WindowRect)
|
|
.GetComponent<DynamicUIContainer>();
|
|
container.title.text = title;
|
|
Containers.Add(container);
|
|
return container;
|
|
}
|
|
|
|
public DynamicUIContainer GenerateContainer()
|
|
{
|
|
DynamicUIContainer container =
|
|
Instantiate(EditorManager.instance.basePrefabs.dynamicUIContainer, WindowRect)
|
|
.GetComponent<DynamicUIContainer>();
|
|
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<DynamicUIInputField>();
|
|
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<DynamicUIButton>();
|
|
button.SetText(title);
|
|
button.Initialize(null, title, string.Empty);
|
|
button.ApplyFunction(function);
|
|
subcontainer.dynamicUIElements.Add(button);
|
|
return button;
|
|
}
|
|
}
|
|
} |