調試引擎

作者 ◕小莫◕·版本 v1.2·更新於 2022-09-23

截圖 共 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

  • 初始發佈

安裝與使用 安裝:按包內說明操作

  1. 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
  2. 這類遊戲沒有通用的模組管理器:有的模組直接替換遊戲檔案、有的放進遊戲專屬的 Mods 資料夾、有的要先裝遊戲對應的社群載入器或工具,以包內說明為準。
  3. 嚴格按說明放置檔案;標註「前置依賴」的模組需要把依賴一併裝好。
  4. 啟動遊戲確認載入成功;部分遊戲需要在設定或模組選單裡手動啟用。

不同遊戲、不同模組的安裝位置差異很大,包內說明是最可靠的依據。

檔案與校驗

檔案名稱
太吾绘卷 脚本调试引擎
檔案大小
55.5 KiB