纳金网

标题: 使用静态数据做全局数据保存 [打印本页]

作者: 王者再临    时间: 2014-11-29 04:43
标题: 使用静态数据做全局数据保存


//GameData
public class GameData
{
    static GameData mSharedInstance;
    //config
    string mUserName;

    public static GameData ShareData {
        get {
            if (mSharedInstance == null) {
                mSharedInstance = new GameData ();
            }
            return mSharedInstance;
        }
    }

    public string UserName {
        get {
            return mUserName;
        }
        set {
            mUserName = value
        }
    }
}

//test
public class TestGameData : MonoBehaviour {
    GameData mData;

    // Use this for initialization
    void Start () {
        mData = GameData.ShareData;
        mData.UserName = "hnlyfy";
    }
   
    // Update is called once per frame
    void Update () {
        Debug.LogWarning(mData.UserName);
    }
}



以前进行Web前端开发,只知道使用类似cookie或者localStorage之类的方法存储全系统变量,所以看到这个很新奇就研究了下。

#引用百度#

静态变量的值在CLR运行时就加载到内存的一个地址中,之后修改这个静态变量的值,会修改在这个内存变量的真实值。这个副本在类释放时,不能一起释放,必须退出应该程序才能释放。

在开发单机过程中遇到多场景切换,每个场景都有某一共同对象并且要保持这一对象的状态,就可以这么用。


作者: hyui    时间: 2014-11-29 05:28
good to learn!




欢迎光临 纳金网 (http://www.narkii.com/club/) Powered by Discuz! X2.5