Unity3d 设计模式之单例模式

单例模式是一种保证类只有一个实例的设计模式,在Unity3d中尤其适用于全局访问的组件,如UIManager和PlayerManager。单例分为继承MonoBehavior的和普通类两种。对于MonoBehavior单例,只需在Awake()方法中设置instance为this。
摘要由CSDN通过智能技术生成
  • 什么是单例模式?

    单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。
    通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例

  • 什么时候能用到单例模式?

    比如说存在一些个模块我们需要在整个游戏中随时随地的访问他,就可以用到单例模式了。

    实际开发中比如做为管理UI的脚本UIManager,管理玩家信息的脚本PlayerManager都可以作为单例。

  • 在unity中,我们分两种单例,一种是继承monobehavior的单例,一种是普通单例。
    1.MonoBehavior单例
    其实在unity中,如果脚本是继承monobehavior,那么使用起单例来更加简单。
    只需要在Awake()里面,添加一句instance = this;

using UnityEngine;  
using System.Collections;  
public class test2 : MonoBehaviour {  
    public static test2 instance;  
    // Use this for initialization  
    void Awake () {  
        instance = this;  
    }  

    // Update is called once per frame  
    void Update () {  

    }  
}  

2.普通类的单例

using UnityEngine;  
using System.Collections;  
public class test2 {  
    private static test2 instance;  
    public static test2 Instance  
    {  
        get  
        {  
            if (null == instance)  
                instance = new test2();  
            return instance;  
        }  
        set { }  
    }  
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值