調試引擎
截圖 共 1 張
模組介紹 作者原文
太吾繪卷腳本調試引擎
源碼:
主要功能
太吾繪卷已經官方支持Mod, 我覺得美中不足的地方就是腳本調試不太方便, 所以我寫了這個調試引擎, 用來調試腳本.
以方便Mod開發者來調試自己的腳本
使用方法
- 將 "ScriptEngine" 解壓到遊戲目錄的 "Mod"文件夾中
- 進入遊戲後找到"模組選擇"
- 啓用"太吾繪卷 腳本調試器",然後應用
- 將你的腳本放入 "Mod/scirpts" 文件夾中
- 按F6會自動重新加載文件夾中的腳本
main
若要使用 ScriptEngine 來調試腳本,你需要在你的腳本中添加一個 `main` 類, 並繼承 `MonoBehaviour` 類, 由於繼承了 `MonoBehaviour` 類,所以 MonoBehaviour 的所有事件函數都可以使用, 例如 `Start` `Update` `OnGUI` `OnDisable` 等等
例子
```csharp
using System;
using HarmonyLib;
using UnityEngine;
namespace ScriptTrainer
{
public class main: MonoBehaviour
{
void Start()
{
// 在啓動時做些事情
Debug.Log("ScriptTrainer Start 啓動");
}
void OnDisable()
{
// 腳本在卸載時做些事情
Debug.Log("ScriptTrainer OnDisable 卸載");
}
void Update()
{
// 在每一幀做些事情
if (Input.GetKeyDown(KeyCode.F9))
{
Debug.Log("你按下了 F9 鍵");
}
}
}
}
```
下面這個是遊戲調用的方法
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TaiwuModdingLib.Core.Plugin;
using UnityEngine;
using HarmonyLib;
using Object = UnityEngine.Object;
namespace ScriptTrainer
{
[PluginConfig("ScriptTrainer", "小莫", "1.0.0")]
public class ScriptTrainer: TaiwuRemakePlugin
{
private static GameObject gameObject;
public override void Dispose()
{
//// 銷燬
Object.Destroy(gameObject);
Debug.Log("ScriptTrainer 銷燬");
}
public override void Initialize()
{
// 加載時調用
// 創建一個空物體
gameObject = new GameObject($"taiwu.ScriptTrainer{DateTime.Now.Ticks}");
// 將 main 類掛載到 gameObject 上
// 遊戲會自動調用 Start、Update 方法
gameObject.AddComponent();
Debug.Log("ScriptTrainer 初始化完成");
}
}
}
```
這裏的 `public class ScriptTrainer: TaiwuRemakePlugin` 是作爲Mod時, 遊戲調用的類型, 這個是遊戲要用的, 記得加上, 不然遊戲不會讀取你的腳本
而 `public class main: MonoBehaviour` 是調試引擎 用到的類,至於爲什麼要這麼做, 你翻一翻源碼就明白了,我本身是想模擬遊戲加載Mod一樣來調試腳本,但不管怎麼折騰,都無法達到我想要的效果,所以只能這麼做了,稍微麻煩了一點, 如果你有更好的方法的話, 歡迎推送你修改的代碼
原理
- 創建一個空的 `GameObject`,
- 使用 `AddComponent` 就可以將繼承了 `MonoBehaviour` 的類掛載到 `GameObject`上
- 掛載之後, 遊戲會幫你調用它(MonoBehaviour)的所有事件函數
- 這個方法適用於所有Unity遊戲,
更新日誌:
v1.2
- 修復依賴被佔用的問題
v1.1
- 現在能加載依賴l,將依賴dll一起放入scirpts文件夾即可
v1.0
- 初始發佈
安裝與使用 安裝:按包內說明操作
- 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
- 這類遊戲沒有通用的模組管理器:有的模組直接替換遊戲檔案、有的放進遊戲專屬的 Mods 資料夾、有的要先裝遊戲對應的社群載入器或工具,以包內說明為準。
- 嚴格按說明放置檔案;標註「前置依賴」的模組需要把依賴一併裝好。
- 啟動遊戲確認載入成功;部分遊戲需要在設定或模組選單裡手動啟用。
不同遊戲、不同模組的安裝位置差異很大,包內說明是最可靠的依據。