Unity3D的单例框架以及单例框架的使用

来源:互联网 发布:电商美工岗位说明书 编辑:程序博客网 时间:2024/05/16 06:01

单例是一种思想

using UnityEngine;using System.Collections;using System.Collections.Generic;//写单例框架需要引入//单例一般都是控制器Manager,单例之间可以互相的调用。//泛型里面需要定义限制一下(where t 被实例)public class SingleScript<T>where T:new() {    /// <summary>    /// 声明单例,并赋值默认值;    /// </summary>    private static T instance = default(T);    public static T GetInstance(){        if (instance == null) {            instance = new T ();        }        return instance;    }}public class SimpleSingleTon{    private static SimpleSingleTon instance;//静态实例    public static SimpleSingleTon GetInstance(){//返回这样的实例    //惰性实例化,如果不调用Getinstance,就是不实例化的,不给你分配内存。        //当你调用的时候再去实例化,这样比较优化的节省内存。        if (instance == null) {            instance = new SimpleSingleTon ();        }        return instance;    }    //为了防止其他类去调用这个类生成这个实例    //所以把这个构造函数私有    private SimpleSingleTon(){    }}

以上是写的单例框架,接下来是如何调用

public class AudioManager:SingleScript<AudioManager>{    public float currentAud;}public class Demo{    public Demo(){        AudioManager.GetInstance ().currentAud = 5;    }}
原创粉丝点击