Some general-purpose tool scripts. Most of them support native Unity 2017.4+, while a few require the use of Newtonsoft.Json, MoonSharp or SharpZipLib.
Use them freely.
| Script | Description |
|---|---|
| EventManager.cs | A game event manager based on C# delegates. Only the passing of one event argument is supported. Please use custom data structures to pass multiple arguments. |
| JsonUpdate.cs | An editor script that automatically completes missing fields and removes redundant fields in JSON files. Supports complex nested types. |
| LocalizationConverter.cs | Split a localization CSV file into several single-language JSON files. |
| LuaEvent.cs | In conjunction with EventManager, it allows for the listening or triggering of events within Lua scripts, primarily for use in permission management. |
| LuaUtility.cs | Used for quickly creating MoonSharp Script objects. It allows for easy implementation of a LuaManager script, facilitating the implementation of mod systems, etc. |
| ModLoader.cs | Used to read text, textures, etc. from ZIP files. Can be executed asynchronously based on Unity coroutines. It includes a simple cache to improve performance. |
| ObjectPool.cs | A very lightweight object pool, essentially a queue of GameObjects. If an object come from a combination of multiple pools, it needs to be split and released separately. |
| PriorityQueue.cs | A priority queue that supports generics and ascending/descending order. Custom priority values are allowed. |
| UnityJsonConverter.cs | Newtonsoft.json converters for common Unity structures, such as Vector2, Vector3, Quaternion, Rect, Color, etc. It supports both JArray and JObject serialization methods. Suitable as the default configuration for a JsonManager script. |