首页 > 学院 > 开发设计 > 正文

Unity 单例模式

2019-11-14 09:25:38
字体:
来源:转载
供稿:网友

1.单例模式,如下

using UnityEngine;using System.Collections;public class Singleton<T> : MonoBehaviour where T : MonoBehaviour{ /** Returns the instance of this singleton. */ PRivate static T _instance; public static T Instance { private set { _instance = value; } get { if (_instance == null) _instance = GameObject.FindObjectOfType<T>(); if (_instance == null) Debug.LogError(typeof(T) + " Instance is null"); return _instance; } } protected virtual void OnDestroy() { Instance = null; }}

2.使用 继承于上面的代码 例子如下(这是个配置表的类,一般键值转换要弄一个单例类,互相不影响,这个右后有空再说,这边只是举个例子如何使用单例) 用的结构public class DataController : Singleton

public class DataController : Singleton<DataController> { public KeyValue _keyValue; public KeyValueConfigure[] keyValue; public KeyValueConfigure ChooseWhichData(int id) { return keyValue[id]; } public GameObject ChooseGeneratorPrefabs(ObstacleType name) { foreach(var o in _keyValue._list) { if(o.type == name) { return o.prefabs; } } return null; }}

3.调用 : DataController.Instance.ChooseWhichData(0);


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表