The OxGKit is a system tool kit commonly used in game development based on Unity design (all are independent tools).
OxGKit 是基於 Unity 設計於遊戲開發常用的系統工具組 (皆為獨立工具)。
TODO 未來會補充 OxGKit 的文檔
目前包含以下
[會持續擴充工具系統組]
無限列表 (魔改版),基於原生 UGUI 能夠簡單的繼承或使用現有的 Infinite ScrollView,以物件池的概念進行物件有效循環利用。
Reference: howtungtung - InfiniteScrollView
[參考 Example]
Install via git URL |
---|
Add https://github.com/michael811125/OxGKit.git?path=Assets/OxGKit/InfiniteScrollView/Scripts to Package Manager |
第三方庫 (需自行安裝)
※備註 : Right-Click Create/OxGKit/Infinite ScrollView... (Template cs)
動作序列系統,能夠自行定義 Action 並且自行組合運行組,預設 Actions 有 SequenceAction, ParallelAction, ParallelDelayAction, DelayAction, DelegateAction,另外如果針對動畫需要進行拼湊處理,也可以使用 ActionSystem 作為運行。
[參考 Example]
Install via git URL |
---|
Add https://github.com/michael811125/OxGKit.git?path=Assets/OxGKit/ActionSystem/Scripts to Package Manager |
第三方庫 (需自行安裝)
ActionSystem Demo
https://github.com/michael811125/OxGKit/assets/30960759/169d91ea-3709-420c-8751-f50119e97d35
※備註 : Right-Click Create/OxGKit/Action System... (Template cs)
通知系統 (也稱紅點系統),支援動態新增刪除通知條件,可以自行定義通知條件,再針對 NoticeItem 進行條件持有註冊,當 NoticeItem 身上其中持有任一符合條件則通知顯示圖示 (紅點)。
[參考 Example]
Install via git URL |
---|
Add https://github.com/michael811125/OxGKit.git?path=Assets/OxGKit/NoticeSystem/Scripts to Package Manager |
第三方庫 (需自行安裝)
NoticeSystem Demo
https://github.com/michael811125/OxGKit/assets/30960759/c6966327-3ede-432e-b8fe-bee53f629f25
※備註 : Right-Click Create/OxGKit/Notice System... (Template cs)
輸入控制系統,支援 Unity New InputSystem,如果使用 Unity New InputSystem 需自行建立 Unity New InpuptSystem 的控制表 (Control Maps),並且還有提供使用於 Unity New InputSystem 的 Binding Composite 腳本模板,最後再由 Input Action 派送輸入訊號控制由訂閱者訂閱,進而做到遊戲中的控制邏輯不需要知道平台裝置區分,皆由 Input Action 進行整合,當然 Input Action 也支援其他輸入控制插件,作為單純的輸入控制派送者。
主要層級驅動區分為以下
[參考 Example]
Install via git URL |
---|
Add https://github.com/michael811125/OxGKit.git?path=Assets/OxGKit/InputSystem/Scripts to Package Manager |
第三方庫 (需自行安裝)
InputSystem Demo
https://github.com/michael811125/OxGKit/assets/30960759/20548ee4-b77b-4cda-8d49-c82b16deddb7
※備註 : Right-Click Create/OxGKit/Input System... (Template cs)
日誌系統,透過拖曳 LoggingLauncher 至場景上激活環境配置 (僅需激活一次),並且需加載 LoggerSetting 進行日誌開關控制。
Build 激活宏
新增 Logger 或移除 Logger 皆需手動執行 Reload Loggers 重載 (建議定義一個 default constructor,避免搭配 HybridCLR + Activator.CreateInstance(type) 出現錯誤)。
using OxGKit.LoggingSystem;
[LoggerName("MyLogger")]
public class MyLogger1 : Logging
{
// If use HybridCLR must create a default constructor
public MyLogger1() { }
}
// Use same name to override MyLogger1
[LoggerName("MyLogger", true)]
public class MyLogger2 : Logging
{
// If use HybridCLR must create a default constructor
public MyLogger2() { }
public override void Log(object message)
{
UnityEngine.Debug.Log("[Override]" + message);
}
public override void LogWarning(object message)
{
UnityEngine.Debug.LogWarning("[Override]" + message);
}
public override void LogError(object message)
{
UnityEngine.Debug.LogError("[Override]" + message);
}
public override void LogException(Exception exception)
{
UnityEngine.Debug.LogException(exception);
}
}
如果搭配 HybridCLR 有主工程跟熱更工程的區分,建議自行手動拆分調用 AOT 跟 Hotfix 的 Loggers 初始流程,可以參考以下。
// Init by yourself
Logging.CreateLogger<YourLogger>();
LoggingLauncher.TryLoadLoggerSetting();
以下是在 AOT 工程中初始 AOT 工程的 Loggers (如果 Hotfix 工程的 Loggers 需要再 Hotfix 工程中初始)。
[參考 Example]
Install via git URL |
---|
Add https://github.com/michael811125/OxGKit.git?path=Assets/OxGKit/LoggingSystem/Scripts to Package Manager |
第三方庫 (需自行安裝)
LoggingSystem Demo
https://github.com/michael811125/OxGKit/assets/30960759/51ecddd7-5241-43e9-9104-de45cbc5f68d
LoggingSystem Build Test
https://github.com/michael811125/OxGKit/assets/30960759/cef1a484-d617-466d-bf3e-6104032d7c3f
補間動畫 (僅支持 DoTween Pro)。
Highly Recommended brunomikoski - Animation Sequencer
Preview Mode (Only DoTweenAnim component is supported)
※Note: The DoTweenAnimEvent only plays at runtime.
[參考 Example]
Install via git URL |
---|
Add https://github.com/michael811125/OxGKit.git?path=Assets/OxGKit/TweenSystem/Scripts to Package Manager |
第三方庫 (需自行購買安裝)
第三方庫 (需自行安裝)
TweenSystem Demo
https://github.com/michael811125/OxGKit/assets/30960759/6bf690b6-c4d0-40f6-b3c9-b50ab62562e8
各通用組件 (Essential)。
[參考 Example]
Install via git URL |
---|
Add https://github.com/michael811125/OxGKit.git?path=Assets/OxGKit/Utilities/Scripts to Package Manager |
第三方庫 (獨立安裝時,需自行安裝; 如果搭配 OxGFrame 則不需要額外安裝 UniTask)
Utilities Demo (RectTransformAdjuster)
https://github.com/michael811125/OxGKit/assets/30960759/cd43fc8b-c6f7-4878-990b-99dcacb8ed1f
Utilities Demo (ButtonPlus)
https://github.com/michael811125/OxGKit/assets/30960759/891291af-1bb4-4515-bec6-a9877f4ca254
Utilities Demo (Timer)
https://github.com/michael811125/OxGKit/assets/30960759/ee085eb4-f803-45e5-9593-b481a4b5a821
建議使用 Unity 2021.3.32f1(LTS) or higher 版本 - Unity Download
This library is under the MIT License.