SLua學習紀錄,取得Singleton Class

取得Singleton Class

Singleton.cs

using SLua;

[CustomLuaClass]
public class Singleton<T> where T : new()
{
    static T mInstance;

    public static T instance
    {
        get
        {
            if (null == mInstance)
            {
                mInstance = new T();
            }

            return mInstance;
        }
    }
}

繼承Singleton.cs

SingleTest.cs

using UnityEngine;

public class SingleTest : Singleton<SingleTest> {

	public void test()
    {
        Debug.Log("Single Test");
    }
}

Lua呼叫

function callSingleton
  local single = Slua.GetClass("SingleTest")  
  single.instance:test() 

end