Exemplo n.º 1
0
    public void StartGame()
    {
        GameObject tempUI = GameObject.Find("ReleaseResPanel");

        if (tempUI != null)
        {
            GameObject.Destroy(tempUI);
        }
        LuaManager luaManager = Util.LuaManager();

        luaManager.InitStart();

        // 资源初始化
        ResourceManager resManager = Util.ResManager();

        resManager.Initialize();

        if (CoreConst.UpdateMode == true)
        {
            luaManager.DoFile("PreMain.lua");
        }
        else
        {
            luaManager.DoFile("Main.lua");
        }
    }
Exemplo n.º 2
0
    private void LuaStart()
    {
        luaMgr.InitStart(() => {
            luaMgr.DoFile("Logic/Network");         //加载网络
            luaMgr.DoFile("Common/define");
            luaMgr.DoFile("Logic/Game");            //加载游戏

            Util.CallMethod("Game", "OnInitOK");    //初始化完成
            RegisterHandlers();                     //注册协议处理
        });
    }
Exemplo n.º 3
0
    ///--------------------------------------------------------------------------------------
    /// <summary>
    /// 创建UI界面
    /// </summary>
    ///--------------------------------------------------------------------------------------
    public void InitFrames( )
    {
        //---------------------Lua面板---------------------------
        // 初始化 Lua 和注册各个空间的 wrap
        LuaManager.Start();

        UIRoot = GameObject.Find("UI Root");
        if (LuaManager != null)
        {
            LuaManager.DoFile("GUI/UIPanelManager");
            object[] panels = CallMethod("LuaScriptPanel");
            //---------------------Lua面板---------------------------
            foreach (object o in panels)
            {
                string name = o.ToString().Trim();
                if (string.IsNullOrEmpty(name))
                {
                    continue;
                }

                LuaManager.DoFile("GUI/" + name);
                //Debug.LogWarning("LoadLua---->>>>" + name + ".lua");
            }
            //------------------------------------------------------------
            CallMethod("InitUIManagerOK");
        }
    }
Exemplo n.º 4
0
        /// <summary>
        /// 资源初始化结束
        /// </summary>
        public void OnResourceInited()
        {
            LuaManager.Start();
            LuaManager.DoFile("Logic/Network");      //加载游戏
            LuaManager.DoFile("Logic/GameManager");  //加载网络
            initialize = true;

            StartCoroutine(InitResourceManager());

            NetManager.OnInit();    //初始化网络

            object[] panels = CallMethod("LuaScriptPanel");
            //---------------------Lua面板---------------------------
            foreach (object o in panels)
            {
                string name = o.ToString().Trim();
                if (string.IsNullOrEmpty(name))
                {
                    continue;
                }
                name += "Panel";    //添加

                LuaManager.DoFile("View/" + name);
                Debug.LogWarning("LoadLua---->>>>" + name + ".lua");
            }
            //------------------------------------------------------------
            CallMethod("OnInitOK");   //初始化完成
        }
Exemplo n.º 5
0
    IEnumerator callLuaFunction()
    {
        yield return(new WaitForSeconds(1.0f));

        LuaFileUtils.Instance.AddSearchPath(AppConst.FrameworkRoot + "/ToLua/Examples/Test_luaInvokeC/?.lua");        // 为毛必须指定到文件,指定到Test_luaInvokeC/目录下不行?
        LuaManager.DoFile("Test_luaInvokeC.lua");
    }
Exemplo n.º 6
0
        /// <summary>
        /// 资源初始化结束
        /// </summary>
        public void OnResourceInited()
        {
            LuaManager.Start();
            LuaManager.DoFile("Logic/Network");     //加载网络
            LuaManager.DoFile("Logic/GameManager"); //加载游戏
            initialize = true;                      //初始化完

            NetManager.OnInit();                    //初始化网络

            object[] panels = CallMethod("LuaScriptPanel");
            //---------------------Lua面板---------------------------
            foreach (object o in panels)
            {
                string name = o.ToString().Trim();
                if (string.IsNullOrEmpty(name))
                {
                    continue;
                }
                name += "Panel";    //添加

                LuaManager.DoFile("View/" + name);
                Debug.LogWarning("LoadLua---->>>>" + name + ".lua");
            }
            //------------------------------------------------------------

            CallMethod("OnInitOK");   //初始化完成
            NotificationCenter.Instance.SendNotification(NotiConst.UPDATE_MESSAGE, "");
        }
Exemplo n.º 7
0
    void OnInitialize()
    {
        LuaManager.InitStart();
        LuaManager.DoFile("Logic/Game");         //加载游戏
        LuaManager.DoFile("Logic/Network");      //加载网络
        NetManager.OnInit();                     //初始化网络
        Util.CallMethod("Game", "OnInitOK");     //初始化完成

        initialize = true;

        //类对象池测试
        // var classObjPool = ObjPoolManager.CreatePool<TestObjectClass>(OnPoolGetElement, OnPoolPushElement);
        //方法1
        //objPool.Release(new TestObjectClass("abcd", 100, 200f));
        //var testObj1 = objPool.Get();

        //方法2
        //  ObjPoolManager.Release<TestObjectClass>(new TestObjectClass("abcd", 100, 200f));
        // var testObj1 = ObjPoolManager.Get<TestObjectClass>();

        //游戏对象池测试
        var prefab      = Resources.Load("TestGameObjectPrefab", typeof(GameObject)) as GameObject;
        var gameObjPool = ObjPoolManager.CreatePool("TestGameObject", 5, 10, prefab);

        var gameObj = Instantiate(prefab) as GameObject;

        gameObj.name = "TestGameObject_01";
        gameObj.transform.localScale    = Vector3.one;
        gameObj.transform.localPosition = Vector3.zero;
        ObjPoolManager.Release("TestGameObject", gameObj);
        var backObj = ObjPoolManager.Get("TestGameObject");

        backObj.transform.SetParent(null);
        Debug.Log("TestGameObject--->>>" + backObj);
    }
Exemplo n.º 8
0
    // 更新检查完成
    void OnDownloadFinish()
    {
        UpdateManager.Instance.UpdateVersion();

        AssetBundleManager.InitDependenceInfo();

        ResourceManager.Instance.Init();

        LanguageManager.GetInstance().Init();

        CfgManager.GetInstance().Init();

        // 初始化lua engine
        LuaFileUtils loader = new LuaResLoader();

        loader.beZip = GameConfig.EnableUpdate;         // 是否读取assetbundle lua文件
        Dictionary <string, string> localfiles = UpdateManager.Instance.LocalFiles;

        foreach (string file in localfiles.Keys)
        {
            if (file.Substring(0, 3) == "lua")
            {
                AssetBundle assetBundle = AssetBundleManager.GetAssetBundle(file);
                string      name        = Path.GetFileNameWithoutExtension(file);
                LuaFileUtils.Instance.AddSearchBundle(name, assetBundle);
            }
        }

        //
        LuaManager luaManager = LuaManager.Instance;

        luaManager.InitStart();
        luaManager.DoFile("Game");
        Util.CallMethod("Game", "OnInitOK");
    }
Exemplo n.º 9
0
        public static void CallToLuaFunction(string functionName)
        {
            LuaManager mgr = AppFacade.Instance.GetManager <LuaManager>(ManagerName.Lua);

            mgr.DoFile("Main.lua");
            mgr.CallFunction(functionName);
        }
Exemplo n.º 10
0
        public static void CallToLuaFunction(string funcName, params object[] args)
        {
            LuaManager mgr = AppFacade.Instance.GetManager <LuaManager>(ManagerName.Lua);

            mgr.DoFile("Main.lua");
            mgr.CallFunction(funcName, args);
        }
Exemplo n.º 11
0
        internal void Init()
        {
            if (m_initFlag == false)
            {
                m_initFlag = true;
                GameObject obj  = new GameObject("PoolManager");
                SpawnPool  pool = obj.AddComponent <SpawnPool>();
                pool.poolName          = AppConst.PoolName;
                pool.dontDestroyOnLoad = true;
                PoolManager.Pools.Add(pool);

                GameObject lua  = new GameObject("GameManager");
                Main       main = lua.AddComponent <Main>();
                AppConst.GameManager = lua.transform;

                GameObject     payObj         = new GameObject("PaymentManager");
                PaymentManager paymentManager = payObj.AddComponent <PaymentManager>();
            }
            else
            {
                LuaManager mgr = AppFacade.Instance.GetManager <LuaManager>(ManagerName.Lua);
                mgr.DoFile("Main.lua");
                mgr.CallFunction("EnterMainScene");
            }
        }
Exemplo n.º 12
0
    static int DoFile(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 1);
        string arg0 = LuaScriptMgr.GetLuaString(L, 1);

        LuaManager.DoFile(arg0);
        return(0);
    }
Exemplo n.º 13
0
 /// <summary>
 /// 加载Lua文件
 /// </summary>
 public object[] DoFile(string fileName)
 {
     if (LuaManager != null)
     {
         return(LuaManager.DoFile(fileName));
     }
     return(null);
 }
Exemplo n.º 14
0
    private void InitJumpData(int doorNo)
    {
        this.targetPosition.Clear();
        this.startVerSpeed.Clear();
        this.vertAccSpeed.Clear();
        this.actionIndex.Clear();
        LuaManager manager  = AppFacade.Instance.GetManager <LuaManager>("LuaScriptMgr");
        string     filename = string.Format("PlotJump/{0}_{1}", Singleton <RoleManager> .Instance.curSceneNo, doorNo);

        object[] array    = manager.DoFile(filename);
        LuaTable luaTable = (LuaTable)array[0];

        if (luaTable != null)
        {
            LuaTable luaTable2 = (LuaTable)luaTable["targetPosition"];
            if (luaTable2 != null)
            {
                for (int i = 1; i <= luaTable2.Length; i++)
                {
                    LuaTable luaTable3 = (LuaTable)luaTable2[i];
                    if (luaTable3.Length == 3)
                    {
                        this.targetPosition.Add(new Vector3(Convert.ToSingle(luaTable3[1]), Convert.ToSingle(luaTable3[2]), Convert.ToSingle(luaTable3[3])));
                    }
                    else
                    {
                        Debug.LogError("剧情跳lua表格坐标填写错误");
                    }
                }
            }
            LuaTable luaTable4 = (LuaTable)luaTable["startVertSpeed"];
            if (luaTable4 != null)
            {
                for (int j = 1; j <= luaTable4.Length; j++)
                {
                    this.startVerSpeed.Add(Convert.ToSingle(luaTable4[j]));
                }
            }
            LuaTable luaTable5 = (LuaTable)luaTable["vertAccSpeed"];
            if (luaTable5 != null)
            {
                for (int k = 1; k <= luaTable5.Length; k++)
                {
                    this.vertAccSpeed.Add(Convert.ToSingle(luaTable5[k]));
                }
            }
            LuaTable luaTable6 = (LuaTable)luaTable["action"];
            if (luaTable6 != null)
            {
                for (int l = 1; l <= luaTable6.Length; l++)
                {
                    this.actionIndex.Add(Convert.ToInt32(luaTable6[l]));
                }
            }
            luaTable.Dispose();
        }
    }
    void OnInitialize()
    {
        mLuaManager.InitStart();
        mLuaManager.DoFile("Logic/Game");          //加载游戏
        mLuaManager.CallFunction("Game.OnInitOK"); //初始化完成

        mKbeMain.initKBEngine();
        initialize = true;
    }
Exemplo n.º 16
0
        public static void PayMoneyCallBack(string receipt_data, int result = 1)
        {
            LuaManager mgr = AppFacade.Instance.GetManager <LuaManager>(ManagerName.Lua);

            mgr.DoFile("CSToLuaFunction.lua");
            if (result == 1)
            {
                mgr.CallFunction("PayMoneySuccess", receipt_data);
            }
            else
            {
                mgr.CallFunction("PayMoneyFailed", receipt_data);
            }
        }
Exemplo n.º 17
0
    void OnInitialize()
    {
        LuaManager lurMgr = AppFacade.Instance.GetManager <LuaManager>(ManagerName.Lua);

        lurMgr.InitStart();
        lurMgr.DoFile("Game");         //加载游戏

        initialize = true;

        // 启动游戏逻辑
        Util.CallMethod("Game", "OnInitOK");     //初始化完成
        LogFilter.Instance().Init();
        //LogCenter.Instance().Init();
    }
Exemplo n.º 18
0
        /// <summary>
        /// 资源初始化结束
        /// </summary>
        public void OnResourceInited()
        {
            //InitGui();

            LuaManager.Start();
            //LuaManager.DoFile("Logic/Network");       //加载网络
            LuaManager.DoFile("Logic/GameManager");    //加载游戏

            _IsUpdateCompleted = true;
            initialize         = true; //初始化完

            CallMethod("OnInitOK");    //初始化完成

            //if (m_Init != null) m_Init();
        }
Exemplo n.º 19
0
 static int DoFile(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         LuaManager obj  = (LuaManager)ToLua.CheckObject <LuaManager>(L, 1);
         string     arg0 = ToLua.CheckString(L, 2);
         obj.DoFile(arg0);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
Exemplo n.º 20
0
    public void LoadLuaScript(string fullPath)
    {
        if (string.IsNullOrEmpty(fullPath))
        {
            return;
        }
        FullPath = fullPath;

        if (!component)
        {
            string className = System.IO.Path.GetFileNameWithoutExtension(FullPath);
            luaTable = LuaManager.GetTable(className);
            if (luaTable == null)
            {
                LuaManager.DoFile(FullPath);
                if (!string.IsNullOrEmpty(className))
                {
                    luaTable = LuaManager.GetTable(className);
                    if (luaTable == null)
                    {
                        Util.LogError("Game", string.Format("没有找到{0}对应的lua表, 请确保文件名和lua表名一致", className));
                    }
                }
            }
        }
        else
        {
            object[] luaRet = LuaManager.DoFile(FullPath);
            if (luaRet != null && luaRet.Length >= 1)
            {
                // 约定:第一个返回的Table对象作为Lua模块
                luaTable = luaRet[0] as LuaTable;
            }
            else
            {
                Util.LogError("Game", "Lua脚本没有返回Table对象:" + FullPath);
            }
        }

        if (luaTable != null)
        {
            luaTable["transform"]  = transform;
            luaTable["gameObject"] = gameObject;
        }
        Call("Awake");
    }
Exemplo n.º 21
0
    public void Init()
    {
        luaManager.InitStart();

        luaManager.DoFile("Game");                //加载游戏
        luaManager.CallFunction("Game.OnInitOK"); //初始化完成



        //isMe = false;
        //isMeFirst = false;

        //MainUI.Instance.onbutton = MatchMethod;
        //var text = MainUI.Instance.button.transform.Find("Text").GetComponent<Text>();
        //text.text = "Match";
        //uiText = text;
    }
Exemplo n.º 22
0
    private void DoLuaFile()
    {
        if (luaFilePath.Length == 0)
        {
            EditorGUILayout.HelpBox("文件路径错误", MessageType.None);
            return;
        }

        if (!File.Exists(luaFilePath))
        {
            EditorGUILayout.HelpBox("文件不存在", MessageType.None);
            return;
        }

        LuaManager mgr = AppFacade.Instance.GetManager <LuaManager>(ManagerName.Lua);

        mgr.DoFile(luaFilePath);
    }
Exemplo n.º 23
0
        /// <summary>
        /// 资源初始化结束
        /// </summary>
        public void OnResourceInited()
        {
            //gameman添加main
            Component c = gameObject.GetComponent <Main>();

            if (c == null)
            {
                gameObject.AddComponent <Main>();
            }

            LuaManager.Start();
            int start = Environment.TickCount;

            LuaManager.DoFile("Logic/Network");     //加载网络
            LuaManager.DoFile("Logic/GameManager"); //加载游戏

            initialize = true;                      //初始化完

            NetManager.OnInit();                    //初始化网络



            //---------------------Lua面板---------------------------
            object[] panels = CallMethod("LuaScriptPanel");

            foreach (object o in panels)
            {
                string name = o.ToString().Trim();
                if (string.IsNullOrEmpty(name))
                {
                    continue;
                }
                name += "Panel";    //添加

                LuaManager.DoFile("View/" + name);
                Debug.LogWarning("LoadLua---->>>>" + name + ".lua");
            }
            //------------------------------------------------------------
            CallMethod("OnInitOK");   //初始化完成

            int end = Environment.TickCount;

            UnityEngine.Debug.Log("tick" + (end - start));
        }
Exemplo n.º 24
0
    static public void LoaderLua(string fullPath)
    {
        string     className  = System.IO.Path.GetFileNameWithoutExtension(fullPath);
        LuaManager luaManager = AppFacade.Instance.GetManager <LuaManager>(ManagerName.Lua);

        luaTable = luaManager.GetTable(className);
        if (luaTable == null)
        {
            luaManager.DoFile(fullPath);
            if (!string.IsNullOrEmpty(className))
            {
                luaTable = luaManager.GetTable(className);
                if (luaTable == null)
                {
                    Util.LogError("Game", string.Format("没有找到{0}对应的lua表, 请确保文件名和lua表名一致", className));
                }
            }
        }
    }
Exemplo n.º 25
0
    private static int DoFile(IntPtr L)
    {
        int result;

        try
        {
            ToLua.CheckArgsCount(L, 2);
            LuaManager luaManager = (LuaManager)ToLua.CheckObject(L, 1, typeof(LuaManager));
            string     filename   = ToLua.CheckString(L, 2);
            object[]   array      = luaManager.DoFile(filename);
            ToLua.Push(L, array);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaDLL.toluaL_exception(L, e, null);
        }
        return(result);
    }
Exemplo n.º 26
0
    public void LoginCb(string token)
    {
        Debug.Log("token" + token);
        string className = System.IO.Path.GetFileNameWithoutExtension(luaPath);
        var    luaTable  = LuaManager.GetTable(className);

        if (luaTable == null)
        {
            LuaManager.DoFile(className);
            if (!string.IsNullOrEmpty(className))
            {
                luaTable = LuaManager.GetTable(className);
                if (luaTable == null)
                {
                    Util.LogError("Game", string.Format("没有找到{0}对应的lua表, 请确保文件名和lua表名一致", className));
                }
            }
        }
        LuaManager.CallFunction("ConnectToLogin.ConnectToLoginServer", token);
    }
Exemplo n.º 27
0
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Delete))
        {//处理新修改lua文件的重载。
            paths.Clear(); files.Clear();
            string luaDataPath = LuaConst.luaDir.ToLower();
            Recursive(luaDataPath);
            luaReload.Clear();
            for (int i = 0; i < files.Count; i++)
            {
                string file  = files[i];
                string value = file.Replace(luaDataPath + '/', string.Empty);
                #region 增加读取文件修改时间的代码Lorry
                FileInfo fileInfo = null;
                try
                {
                    fileInfo = new FileInfo(file);
                }
                catch (Exception e)
                {
                    Debug.LogException(e);
                    // 其他处理异常的代码
                }
                #endregion
                int t1 = fileInfo.LastWriteTime.CompareTo(this.loadTime);
                if (t1 > 0)
                {
                    luaReload.Add(value.Replace(".lua", string.Empty));
                }
            }

            Debug.Log("更新lua文件数量:" + luaReload.Count);
            for (int i = 0; i < luaReload.Count; i++)
            {
                Debug.Log(luaReload[i]);
                LuaManager.DoFile(luaReload[i]);
            }
            this.loadTime = DateTime.Now;
        }
    }
Exemplo n.º 28
0
 void Start()
 {
     lua = GameObject.FindObjectOfType <LuaManager>();
     lua.DoFile("Logic/Bagin");
     Util.CallMethod("Bagin", "OnInitOK");
 }