45 lines
1.2 KiB
C#
45 lines
1.2 KiB
C#
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);
|
|
}
|
|
}
|