Example #1
0
        private void InitAppParam()
        {
            //初始化按钮
            _pointLightButtonItems = ButtonItems.Take(20).ToList();
            for (var i = 20; i < 28; i++)
            {
                _questionLightButtonItems.Add(ButtonItems[i]);
            }
            _beginButtonItem = ButtonItems[28];
            //初始化继电器
            _pointLightRelayItems = RelayItems.Take(20).ToList();
            for (var i = 20; i < 28; i++)
            {
                _questionLightRelayItems.Add(RelayItems[i]);
            }
            for (var i = 28; i < 36; i++)
            {
                _styleLightRelayItems.Add(RelayItems[i]);
            }
            for (var i = 36; i < 46; i++)
            {
                _chargeLightRelayItems.Add(RelayItems[i]);
            }
            _roomLightRelayItem = RelayItems[46];

            RoomLightHelper.RoomRelayLight = _roomLightRelayItem;

            MainUI.BreakThird   += MainUI_BreakThird;
            MainUI.BreakUnThird += MainUI_BreakUnThird;
        }
Example #2
0
        private async void Callback_Notify(object sender, WcfResultInfo e)
        {
            if (e.IsError)
            {
                return;
            }
            var switchItem = e.Data.ToObject <SwitchItem>();
            var buttonItem = ButtonItems.FirstOrDefault(s => s.Number == switchItem.SwitchNumber);

            if (buttonItem != null)
            {
                if (!_timer.Enabled)
                {
                    _timer.Start();
                }
                else
                {
                    return;
                }
                if (_isCompleted)
                {
                    return;
                }
                var findIndex  = ButtonItems.IndexOf(buttonItem) + 1;
                var sudokuData = _sudokuDatas.Find(s => s.ButtonIndex == findIndex);
                foreach (var relayIndex in sudokuData.RelayIndexs)
                {
                    await RelayItems[relayIndex - 1].Control();
                }
                await PlayMusic0(SignKey, "ding.wav");

                //await Task.Delay(1000);
                var result = RelayItems.All(s => s.IsNo);
                if (result)
                {
                    _isCompleted = true;
                    _manualResetEvent.Set();
                }
            }
        }