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; 
	} 
}