Esempio n. 1
0
        public void Wait()
        {
            if (_isWaiting)
            {
                MessageTransceiver <T> .RemoveListener(_onReceive);
            }

            _isWaiting = true;
            MessageTransceiver <T> .AddListener(_onReceive);
        }
Esempio n. 2
0
        private void OnReceive(T msg)
        {
            if (_isWaiting)
            {
                MessageTransceiver <T> .RemoveListener(_onReceive);

                _isWaiting = false;
                _msg       = msg;

                _onComplete?.Invoke();
            }
        }
Esempio n. 3
0
        public void Close()
        {
            MessageTransceiver <T> .RemoveListener(_onReceive);

            _isWaiting = false;
        }