using UnityEngine; public class MouseCursorManager : MonoBehaviour { public static MouseCursorManager Instance { get; private set; } public Texture2D dialogueCursor; // 对话光标 public Texture2D collectCursor; // 收藏光标 public Texture2D pickupCursor; // 拾取光标 private Texture2D defaultCursor; // 默认光标 private void Awake() { // 检查是否已有实例 if (Instance != null && Instance != this) { Destroy(gameObject); // 确保只有一个实例存在 return; } Instance = this; DontDestroyOnLoad(gameObject); // 防止在场景切换时销毁该对象 } private void Start() { // 将默认光标设置为系统默认光标 defaultCursor = null; // 可以在这里赋值为 null,或者自定义光标的纹理 ResetCursor(); } // 设置自定义光标 public void SetCursor(Texture2D cursorTexture) { Cursor.SetCursor(cursorTexture, Vector2.zero, CursorMode.Auto); } // 重置为默认光标 public void ResetCursor() { Cursor.SetCursor(defaultCursor, Vector2.zero, CursorMode.Auto); } }