脚本:Singleton.cs
using System;
using UnityEngine;
public abstract class Singleton<T> where T : class, new()
{
protected static T _Instance = null;
public static T Instance
{
get
{
if (null == _Instance)
{
_Instance = new T();
}
return _Instance;
}
}
protected Singleton()
{
Init();
}
public virtual void Init() { }
}
如果想把一个类做成单例,只要按照下面做法即可实现:
using UnityEngine;
using System.Collections;
public class xuhaitao:Singleton<xuhaitao> {
public override void Init()
{
//此单例类初始化部分,只会执行一次
}
}
QQ技术交流群:386476712