Skip to content

+EA 23.312 Nightly Patch 4 - Plugin.UI โ€‹

June 4, 2026

2 files modified.

Important Changes โ€‹

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

BookList (1) โ€‹

cs
public static List<Func<string[]>> booklistLoaders = new List<Func<string[]>>(); 
public static List<Func<List<string>>> booklistLoaders = new List<Func<List<string>>>(); 

UIBook (1) โ€‹

cs
public static List<Func<string[]>> topicLoaders = new List<Func<string[]>>(); 
public static List<Func<List<string>>> topicLoaders = new List<Func<List<string>>>(); 

BookList โ€‹

public class Item

cs
		public int skin;
	}

	public static List<Func<string[]>> booklistLoaders = new List<Func<string[]>>(); 
	public static List<Func<List<string>>> booklistLoaders = new List<Func<List<string>>>(); 

	public static Dictionary<string, Dictionary<string, Item>> dict;

public static void Init()

cs
	dict = new Dictionary<string, Dictionary<string, Item>>();
	List<string> list = new List<string>();
	list.AddRange(LoadDefaultBookList());
	foreach (Func<string[]> booklistLoader in booklistLoaders) 
	foreach (Func<List<string>> booklistLoader in booklistLoaders) 
	{
		try
		{

public static void Init()

cs
		}
		catch (Exception arg)
		{
			Debug.LogWarning($"#book external booklist loader failed\n{arg}"); 
			Debug.LogError($"#book external booklist loader failed\n{arg}"); 
		}
	}
	foreach (string item in list)

public static void Init()

cs
			{
				cat = name,
				title = array[0],
				author = ((array.Length > 1) ? "nameAuthor".lang(array[1]) : "unknownAuthor".lang()), 
				author = ((array.Length > 1 && !array[1].IsEmpty()) ? "nameAuthor".lang(array[1]) : "unknownAuthor".lang()), 
				chance = ((array.Length > 2) ? array[2].ToInt() : 100),
				skin = ((array.Length > 3) ? array[3].ToInt() : 0),
				id = text,

UIBook โ€‹

string STR(string s)

cs

	public static SearchContext searchContext;

	public static List<Func<string[]>> topicLoaders = new List<Func<string[]>>(); 
	public static List<Func<List<string>>> topicLoaders = new List<Func<List<string>>>(); 

	private void Awake()
	{

public void RefreshTopics()

cs
	helpTitles.Clear();
	List<string> list = new List<string>();
	list.AddRange(LoadBuiltInTopics());
	foreach (Func<string[]> topicLoader in topicLoaders) 
	foreach (Func<List<string>> topicLoader in topicLoaders) 
	{
		try
		{

public void RefreshTopics()

cs
		}
		catch (Exception arg)
		{
			Debug.LogWarning($"#book external topic loader failed\n{arg}"); 
			Debug.LogError($"#book external topic loader failed\n{arg}"); 
		}
	}
	foreach (string item6 in list)