Files
duckovMod/test/ModBehaviour.cs
2025-10-22 02:09:18 +08:00

58 lines
1.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using HarmonyLib;
using UnityEngine;
namespace test
{
/// <summary>
/// 基础模板
/// 继承自Duckov.Modding.ModBehaviour
/// </summary>
public class ModBehaviour : Duckov.Modding.ModBehaviour
{
private Harmony harmony;
/// <summary>
/// 模组初始化时调用,类似于构造函数
/// </summary>
void Awake()
{
// 初始化Harmony实例
harmony = new Harmony("com.test.all.patches");
// 应用所有Harmony补丁
harmony.PatchAll();
Debug.Log("Test模组已加载所有补丁已应用");
}
/// <summary>
/// 模组销毁时调用,用于清理资源
/// </summary>
void OnDestroy()
{
// 卸载所有Harmony补丁
harmony?.UnpatchAll();
}
void OnEnable()
{
// 模组启用时重新应用补丁
if (harmony == null)
{
harmony = new Harmony("com.test.all.patches");
harmony.PatchAll();
}
}
/// <summary>
/// 模组禁用时调用,取消事件监听器
/// 取消订阅事件,防止在模组禁用后仍然响应事件
/// </summary>
void OnDisable()
{
// 模组禁用时卸载补丁
harmony?.UnpatchAll();
harmony = null;
}
}
}