Пример #1
0
        public static void Append(GameObject obj, string script, params object [] param)
        {
            LuaBehaviour lb = obj.AddComponent <LuaBehaviour>();

            lb.luaScriptFileName = script;
            lb.args = param;
        }
Пример #2
0
        // Use this for initialization
        void Start()
        {
            GameObject battleObject = GameObject.FindWithTag("battle_root");

            if (battleObject != null)
            {
                battleScript = battleObject.GetComponent <LuaBehaviour>();
                StartCoroutine(ToggleBattleEvent());
            }
        }
Пример #3
0
        LuaTable loadLuaBehaviour(string luaScriptFileName, params object[] args)
        {
            LuaBehaviour[] lbs = GetComponents <LuaBehaviour>();
            for (int i = 0; i < lbs.Length; i++)
            {
                if (lbs[i].luaScriptFileName == luaScriptFileName)
                {
                    return(lbs[i].GetScript());
                    //return lbs[i].LoadScript(luaScriptFileName, null, args);
                }
            }
            LuaBehaviour lb = gameObject.AddComponent <LuaBehaviour> ();

            return(lb.LoadScript(luaScriptFileName, null, args));
        }
Пример #4
0
    public static void MapSceneAddLua()
    {
        string[] assets = AssetDatabase.FindAssets("t:scene", new string[] { "Assets/scenes/maps" });
        //string[] assets = AssetDatabase.FindAssets("t:prefab", new string[] { "Assets/assetbundle/prefabs/base" });
        Debug.LogError("scene :" + assets.Length);
        bool temp = true;

        if (temp)
        {
            for (int i = 0; i <= assets.Length; i++)
            {
                string fileName = AssetDatabase.GUIDToAssetPath(assets[i]);
                // Debug.LogError(i + fileName);
                EditorSceneManager.OpenScene(fileName);
                GameObject MapSceneRoot = GameObject.Find("MapSceneRoot");
                if (MapSceneRoot)
                {
                    //obj.AddComponent<BoxCollider>();
                    SGK.LuaBehaviour LuaBehaviour = MapSceneRoot.GetComponent <SGK.LuaBehaviour>();
                    if (LuaBehaviour || LuaBehaviour.luaScriptFileName == "")
                    {
                        //MapSceneRoot.AddComponent<SGK.LuaBehaviour>().luaScriptFileName = "view/map_scene.lua";
                        //EditorSceneManager.SaveScene(EditorSceneManager.GetActiveScene());
                    }
                    else
                    {
                        Debug.LogError(fileName);
                    }
                }
                else
                {
                    Debug.LogError(fileName + " => not MapSceneRoot");
                }
            }
        }
        else
        {
            //AssetDatabase.SaveAssets();
            EditorSceneManager.OpenScene("Assets/scenes/maps/cemetery_scene.unity");
            GameObject a = GameObject.Find("MapSceneRoot");
            a.AddComponent <BoxCollider>();
            a.AddComponent <SGK.LuaBehaviour>().luaScriptFileName = "view/map_scene.lua";
            EditorSceneManager.SaveScene(EditorSceneManager.GetActiveScene());
        }
    }
Пример #5
0
        void Awake()
        {
            var p = Application.backgroundLoadingPriority;

            Application.backgroundLoadingPriority = ThreadPriority.High;

            if (instance != null)
            {
                DestroyImmediate(gameObject);
                return;
            }

            instance = this;
            DontDestroyOnLoad(this.gameObject);

            L = new LuaEnv();
            L.AddLoader(FileUtils.Load);

            LuaBehaviour.CleanStatlessFile();

            L.Global.Set <string, XLua.LuaDLL.lua_CSFunction>("WARNING_LOG", CustomSettings.PrintWarning);
            L.Global.Set <string, XLua.LuaDLL.lua_CSFunction>("ERROR_LOG", CustomSettings.PrintError);
            L.Global.Set <string, XLua.LuaDLL.lua_CSFunction>("BATTLE_LOG", CustomSettings.BATTLE_LOG);
            L.Global.Set <string, XLua.LuaDLL.lua_CSFunction> ("loadstring", CustomSettings.LoadString);

            IService[] services = gameObject.GetComponents <IService>();
            for (int i = 0; i < services.Length; i++)
            {
                services[i].Register(L);
            }
            //L.DoString("require('LuaDebug')('localhost',7003)");
            L.DoString("require 'utils.init'");

            _RegisterEventListener     = L.Global.Get <System.Action <object> >("RegisterEventListener");
            _RemoveEventListener       = L.Global.Get <System.Action <object> >("RemoveEventListener");
            _DispatchEvent             = L.Global.Get <DispatchEventDelegate>("DispatchEvent");
            _StartLuaCoroutineDelegate = L.Global.Get <StartLuaCoroutineDelegate>("StartCoroutine");
            _Sync = L.Global.Get <SyncDelegate>("Sync");
        }