コード例 #1
0
    /// <summary>
    /// 初始化LUA脚本
    /// </summary>
    private void InitLuaScript()
    {
        TextAsset asset = ResourceManager.Instance.SyncLoad <TextAsset>("Lua/Main.lua", PatchDefine.AssetBundleDefaultVariant);

        _gameTable     = ExecuteScript(asset.bytes, "Main") as LuaTable;
        _funStart      = _gameTable.Get <Action>("Start");
        _funUpdate     = _gameTable.Get <Action>("Update");
        _funLanguage   = _gameTable.Get <LanguageDelegate>("Language");
        _funNetMessage = _gameTable.Get <NetMessageDelegate>("HandleNetMessage");
    }
コード例 #2
0
    /// <summary>
    /// 初始化LUA脚本
    /// </summary>
    private void InitLuaScript()
    {
        TextAsset asset = LoadAsset("Lua/Main.lua");

        _gameTable     = ExecuteScript(asset.bytes, "Main") as LuaTable;
        _funStart      = _gameTable.Get <Action>("Start");
        _funUpdate     = _gameTable.Get <Action>("Update");
        _funLanguage   = _gameTable.Get <LanguageDelegate>("Language");
        _funNetMessage = _gameTable.Get <NetMessageDelegate>("HandleNetMessage");
    }
コード例 #3
0
ファイル: NetMessage.cs プロジェクト: swaphack/effect
        /// <summary>
        /// 添加消息处理
        /// </summary>
        /// <param name="msgID"></param>
        /// <param name="hand"></param>
        public void AddMessageParse(int msgID, NetMessageDelegate hand)
        {
            if (hand == null)
            {
                return;
            }

            if (!_msgHandlers.ContainsKey(msgID))
            {
                _msgHandlers.Add(msgID, new List <NetMessageDelegate>());
            }

            _msgHandlers[msgID].Add(hand);
        }
コード例 #4
0
ファイル: NetMessage.cs プロジェクト: swaphack/effect
        /// <summary>
        /// 移除消息处理
        /// </summary>
        /// <param name="msgID"></param>
        /// <param name="hand"></param>
        public void RemoveMessageParse(int msgID, NetMessageDelegate hand)
        {
            if (hand == null)
            {
                return;
            }

            if (!_msgHandlers.ContainsKey(msgID))
            {
                return;
            }

            if (_msgHandlers[msgID].Contains(hand))
            {
                _msgHandlers[msgID].Remove(hand);
            }
        }
コード例 #5
0
ファイル: NetMessage.cs プロジェクト: swaphack/effect
        /// <summary>
        /// 派发消息
        /// </summary>
        /// <param name="msgID"></param>
        /// <param name="data"></param>
        private void DispatchMessage(int msgID, byte[] data)
        {
            if (data == null || data.Length == 0)
            {
                return;
            }

            OnReceiveMessage?.Invoke(msgID, data);

            if (!_msgHandlers.ContainsKey(msgID))
            {
                return;
            }

            var lstHandler = _msgHandlers[msgID];
            var aryHandler = new NetMessageDelegate[lstHandler.Count];

            lstHandler.CopyTo(aryHandler);
            foreach (var item in aryHandler)
            {
                item(data);
            }
        }
コード例 #6
0
 public void RemoveMessageParse(int msgID, NetMessageDelegate hand)
 {
     _message.RemoveMessageParse(msgID, hand);
 }
コード例 #7
0
 public void AddMessageParse(int msgID, NetMessageDelegate hand)
 {
     _message.AddMessageParse(msgID, hand);
 }