Files
DuckovMods/SceneSnapshot/ModBehaviour.cs

40 lines
1.1 KiB
C#
Raw Permalink Normal View History

2025-11-01 15:18:34 +08:00
using System.Reflection;
using UnityEngine;
namespace SceneSnapshot
{
public class ModBehaviour : Duckov.Modding.ModBehaviour
{
protected override void OnAfterSetup()
{
AddPrintToolToScene();
}
protected override void OnBeforeDeactivate()
{
RemovePrintToolFromScene();
}
/// <summary>
/// 检查场景中是否已存在PrintTool如果不存在则添加一个新的。
/// </summary>
private void AddPrintToolToScene()
{
if (GameObject.FindObjectOfType<PrintTool>() == null)
{
var printToolGO = new GameObject("PrintTool_Monitor");
printToolGO.transform.SetParent(this.transform);
printToolGO.AddComponent<PrintTool>();
}
}
private void RemovePrintToolFromScene()
{
var printTool = GameObject.FindObjectOfType<PrintTool>();
if (printTool != null)
{
GameObject.Destroy(printTool.gameObject);
}
}
}
}