Unity-----关于委托、事件与泛型单例模式的应用

本文介绍了在Unity中如何结合委托、事件和泛型单例模式处理鼠标交互事件,如鼠标左键点击、右键点击和悬停物体。通过创建泛型单例`MouseManager`作为事件发布者,订阅者(如NPC、装备)注册事件来实现交互。实现场景中不同游戏物体对鼠标事件的响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于泛型单例参考这篇文章

在unity中不乏需要用到单例模式的架构,同时unity中也不乏需要用到委托事件的场景,下面针对“鼠标点击”展开说明


关于鼠标举个例子有3种常见的事件:

1、鼠标左键点击某物体

2、鼠标右键点击某物体

3、鼠标悬停某物体(常见于UI,悬停某装备图标显示详细说明)

我们只需要在鼠标管理单例(发布者)中添加相应的委托和事件、同时在需要响应交互的游戏物体(订阅者)(如NPC,掉落的装备)注册相应的事件即可

首先需要创建一个泛型单例以供以后的管理类拓展:

public class singleton<T> : MonoBehaviour where T:MonoBehaviour
{
    private static object syncID = new object();
    private static volatile T instance;
    public static T Instance
    {
        get
        {
            if (instance == null)
            {
                lock (syncI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值