Unity3D 单例实现方法(方便简单)

本文介绍了一种简单方便的Unity3D单例实现方法,通过Singleton模板类,避免了伪单例在大型项目中的问题和多次声明错误。提供了一个通用的Singleton脚本,以及具体应用实例GameManager,确保单例的唯一性和跨场景持久性。
摘要由CSDN通过智能技术生成

   在Unity3D 中单例是一个设计模式,可以方便在一个工程中,对单一的游戏对象的脚本组件的控制与调用.

     相比大多数的人都会使用伪单例来解决.虽然,伪单例使用起来非常的简单方便,但只适用于一些小的工程项目中,而且使用时,会产生多次声明的错误使用,使用起来并不是非常的好用.

     今天我给大家带来一个简单方便的实现单例的方法,仅仅只需要一个脚本,和几行代码就可以很好的实现单例模式的使用,而且可以避免很多的错误产生.希望大家可以喜欢,相互支持和帮助.下面是脚本部分.

添加单例模板类(全局公用的定义单例的脚本组件,供继承使用)
using UnityEngine;
/// <summary>
/// 功能:添加单例模板类,在想要创建单例的脚本中后面继承Singleton<T>并添加下面的两行代码,就可以实现单例功能  例子(继承): public class GameManager :	Singleton<GameManager>
/// 		private void Init(){}
/// 		void Awake(){ this.Init();}
///  创建时间: 2015年11月1日 15:03
/// </summary>
public class Singleton<T> : MonoBehaviour where T : MonoBehaviour {//脚本单例后接泛型<T> 继承 MonoBehaviour, 约束泛型<T>(也就是你要定义单例的脚本) : 继承MonoBehaviour      where后面接约束条件
	//这里的泛型<T> 就是代表要定义的单例脚本
	private static T _instance;//定义静态的泛型<T>的类型的变量 _instance 
	private static object _lock = new object();//定义一个静态的objec类型的_lock并实例化
	private static bool applicati

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值