コード例 #1
0
ファイル: XMonoBehaviour.cs プロジェクト: FacelessXcy/Demo
        private void OnDestroy()
        {
            OnBeforeDestroy();

            foreach (var msgRecord in _msgRecorder)
            {
                MsgDispatcher.UnRegister(msgRecord.Name, msgRecord.OnMsgReceived);
                msgRecord.Recycle();
            }

            _msgRecorder.Clear();
        }
コード例 #2
0
ファイル: XMonoBehaviour.cs プロジェクト: FacelessXcy/Demo
        public void UnRegisterMsg(string msgName)
        {
            var selectedRecords = _msgRecorder.FindAll(record => record.Name == msgName);

            selectedRecords.ForEach(record =>
            {
                MsgDispatcher.UnRegister(record.Name, record.OnMsgReceived);
                _msgRecorder.Remove(record);

                record.Recycle();
            });


            selectedRecords.Clear();
        }
コード例 #3
0
ファイル: XMonoBehaviour.cs プロジェクト: FacelessXcy/Demo
 public void SendMsg(string msgName, object data)
 {
     MsgDispatcher.Send(msgName, data);
 }
コード例 #4
0
ファイル: XMonoBehaviour.cs プロジェクト: FacelessXcy/Demo
 public void RegisterMsg(string msgName, Action <object> onMsgReceived)
 {
     MsgDispatcher.Register(msgName, onMsgReceived);
     _msgRecorder.Add(MsgRecord.Allocate(msgName, onMsgReceived));
 }