Skip to content

+EA 23.285 Nightly - Plugin.UI

March 13, 2026

4 files modified.

Important Changes

Possible breaking changes. Click the filename to view the chunk.

UIDynamicList (1)

cs
public void RemoveObj(object o) 
public void Remove(object o) 

UIList (3)

cs
public void AddDynamic(object item) 
public override void AddDynamic(object item) 
cs
public void RemoveDynamic(object item) 
public override void RemoveDynamic(object item) 
cs
public void OnMove(object o, object select = null) 
public override void OnMove(object o, object select = null) 

WindowMenu (1)

cs
public UIButton _AddButton(string idButton, Sprite sprite, Action<UIButton> onClick) 
public UIButton _AddButton(string idButton, Sprite sprite) 

BaseList

public virtual void Add(object o)

cs
	{
	}

	public virtual void AddDynamic(object item) 
	{ 
	} 
	public virtual void RemoveDynamic(object item) 
	{ 
	} 
	public virtual bool Contains(object item) 
	{ 
		return false; 
	} 
	public virtual void OnMove(object o, object select = null) 
	{ 
	} 
	public void RefreshNoItem()
	{
		if (!transNoItem)

UIDynamicList

public class Row

cs

	public float minHeight;

	public Func<object, bool> funcFilter; 
	[NonSerialized]
	public bool first = true;

private void _Add(object o)

cs
		autoSized = true;
		this.RebuildLayoutTo<Layer>();
		GridLayoutGroup component = dsv.itemPrototype.GetComponent<GridLayoutGroup>();
		columns = (int)(this.Rect().rect.width / (component.spacing.x + component.cellSize.x)); 
		if ((bool)component) 
		{ 
			columns = (int)(this.Rect().rect.width / (component.spacing.x + component.cellSize.x)); 
		} 
		if (columns < 1)
		{
			columns = 1;

private void _Add(object o)

cs
		row.objects.Add(o);
	}

	public void RemoveObj(object o) 
	public void Remove(object o) 
	{ 
		objects.Remove(o); 
	} 
	public override void AddDynamic(object item) 
	{ 
		Add(item); 
		Refresh(); 
	} 
	public override void RemoveDynamic(object item) 
	{ 
		BaseCore.Instance.FreezeScreen(0.1f); 
		Remove(item); 
		List(); 
	} 
	public override void OnMove(object o, object select = null) 
	{
		BaseCore.Instance.FreezeScreen(0.1f); 
		List(); 
		Select(select ?? o); 
		SE.Click(); 
	} 
	public override bool Contains(object item) 
	{ 
		return objects.Contains(item); 
	}

	public void AddHeader(Action<UIItem> onSetHeader)

public override void List(UIList.SortMode m)

cs
	sortMode = m;
	Clear();
	callbacks.OnList(sortMode);
	foreach (object @object in objects) 
	if (callbacks.useSort) 
	{
		_Add(@object); 
		objects.Sort((object a, object b) => callbacks.OnSort(b, sortMode) - callbacks.OnSort(a, sortMode)); 
	} 
	if (funcFilter != null) 
	{ 
		foreach (object @object in objects) 
		{ 
			if (funcFilter(@object)) 
			{ 
				_Add(@object); 
			} 
		} 
	} 
	else
	{ 
		foreach (object object2 in objects) 
		{ 
			_Add(object2); 
		} 
	}
	Layer root = base.transform.GetComponentInParent<Layer>();
	root = root.parent?.GetComponent<Layer>() ?? root;

UIList

public enum SortMode

cs
		ByID,
		ByWeightSingle,
		ByWorkk,
		ByFeat 
		ByFeat, 
		ByPartyOrder 
	}

	public enum ItemHeight

public T GetPair<T>(object item) where T : Component

cs
		return GetPair(item).component as T;
	}

	public void AddDynamic(object item) 
	public override void AddDynamic(object item) 
	{
	}

	public void RemoveDynamic(object item) 
	public override void RemoveDynamic(object item) 
	{
		BaseCore.Instance.StopEventSystem(GetPair(item).component, delegate
		{

public void SetPage(int i)

cs
		Refresh();
	}

	public void OnMove(object o, object select = null) 
	public override void OnMove(object o, object select = null) 
	{
		List();
		Select(select ?? o);

public void BuildLayout()

cs
		}
	}

	public override bool Contains(object item) 
	{ 
		return items.Contains(item); 
	} 
	public T GetMold<T>() where T : Component
	{
		if ((bool)moldItem)

WindowMenu

public void AddSpace(float height = 30f)

cs
public UIButton AddButton(string idLang, Action<UIButton> onClick, Sprite sprite = null, string idButton = "Default")
{
	Init();
	UIButton b = _AddButton(idButton, sprite, onClick); 
	UIButton b = _AddButton(idButton, sprite); 
	b.onClick.AddListener(delegate
	{
		onClick(b);

public UIButton AddButton(string idLang, Action<UIButton> onClick, Sprite sprite

cs
public UIButton AddButtonSimple(Func<string> funcText, Action<UIButton> onClick = null, Sprite sprite = null, string idButton = "Simple")
{
	Init();
	UIButton b = _AddButton(idButton, sprite, onClick); 
	UIButton b = _AddButton(idButton, sprite); 
	b.onClick.AddListener(delegate
	{
		onClick?.Invoke(b);

public UIButton AddButtonSimple(Func<string> funcText, Action<UIButton> onClick

cs
public UIButton AddButton2Line(string idLang, Func<string> funcText, Action<UIButton> onClick = null, Sprite sprite = null, string idButton = "2line")
{
	Init();
	UIButton b = _AddButton(idButton, sprite, onClick); 
	UIButton b = _AddButton(idButton, sprite); 
	b.onClick.AddListener(delegate
	{
		onClick?.Invoke(b);

public UIButton AddButton2Line(string idLang, Func<string> funcText, Action<UIBu

cs
		return b;
	}

	public UIButton _AddButton(string idButton, Sprite sprite, Action<UIButton> onClick) 
	public UIButton _AddButton(string idButton, Sprite sprite) 
	{
		Init();
		UIButton uIButton = Util.Instantiate<UIButton>("UI/Window/Base/Element/ButtonWindowMenu_" + idButton, layout);

public UIButton _AddButton(string idButton, Sprite sprite, Action<UIButton> onCl

cs
		}
		return uIButton;
	}
	public UIItem AddItem(string idItem) 
	{ 
		Init(); 
		UIItem result = Util.Instantiate<UIItem>("UI/Window/Base/Element/ItemWindowMenu_" + idItem, layout); 
		if ((bool)header) 
		{ 
			header.SetActive(enable: true); 
		} 
		return result; 
	} 
}