private void Callback_Notify(object sender, WcfResultInfo e, int deviceNumber) { if (!_gameTimer.Enabled) { return; } if (!e.IsError) { var switchItem = e.Data.ToObject <SwitchItem>(); if ((switchItem.SwitchNumber == _speedButtonItem.Number) && (deviceNumber == _speedButtonItem.DeviceNumber)) { if (!_speedTimer.Enabled) { _speedTimer.Start(); } } else { var foodButtonItem = _foodButtonItems.FirstOrDefault(s => (s.Number == switchItem.SwitchNumber) && (s.DeviceNumber == deviceNumber)); if (foodButtonItem != null) { //Console.WriteLine(foodButtonItem.Number); if (!_buttonTimer.Enabled) { _buttonTimer.Start(); var buttonIndex = _foodButtonItems.IndexOf(foodButtonItem); var foodValue = _foodValues[buttonIndex]; foodValue = foodValue == 10 ? 0 : foodValue + 1; _foodValues[buttonIndex] = foodValue; ArduinoHelper.ShowLed2(foodValue, buttonIndex); } } } } }
private async void Callback_Notify(object sender, WcfResultInfo e) { if (!e.IsError) { var switchItem = e.Data.ToObject <SwitchItem>(); if ((switchItem.SwitchNumber == 5) || (switchItem.SwitchNumber == 4)) { OnNotification(new NotificationEventArgs("开关编号:" + switchItem.SwitchNumber + " 状态:" + (switchItem.SwitchStatus == SwitchStatus.NC ? "吸合" : "非吸合"))); if (_dicButtonItems.ContainsKey(switchItem.SwitchNumber)) { CheckButtonItem buttonItem; if (_dicButtonItems.TryGetValue(switchItem.SwitchNumber, out buttonItem)) { buttonItem.IsPress = switchItem.SwitchStatus == SwitchStatus.NC; if (_dicButtonItems.Values.All(s => s.IsPress)) { PlayMusic0(SignKey, "line1.wav"); } } //if (!_dicButtonItems.TryAdd(switchItem.SwitchNumber, buttonItem)) //{ // OnNotification(new NotificationEventArgs("开关编号:" + switchItem.SwitchNumber + "添加到集合失败,如果当前只需检测一个开关是否吸合,可以直接跳过。")); //} //else //{ // //var str = _dicButtonItems.Values.Aggregate(string.Empty, (current, checkButtonItem) => current + $"{checkButtonItem.ButtonItem.Number} {checkButtonItem.IsPressStatus} "); // //OnNotification(new NotificationEventArgs(str)); //} } } } }
private void Callback_Notify(object sender, WcfResultInfo e) { if (!e.IsError) { var switchItem = e.Data.ToObject <SwitchItem>(); if (_dicButtonItems.ContainsKey(switchItem.SwitchNumber)) { CheckButtonItem buttonItem; _dicButtonItems.TryRemove(switchItem.SwitchNumber, out buttonItem); buttonItem.IsPress = switchItem.SwitchStatus == SwitchStatus.NC; if (!_dicButtonItems.TryAdd(switchItem.SwitchNumber, buttonItem)) { OnNotification(new NotificationEventArgs("开关编号:" + switchItem.SwitchNumber + "添加到集合失败,如果当前只需检测一个开关是否吸合,可以直接跳过。")); } else { var str = _dicButtonItems.Values.Aggregate(string.Empty, (current, checkButtonItem) => current + $"{checkButtonItem.ButtonItem.Number} {checkButtonItem.IsPressStatus} "); OnNotification(new NotificationEventArgs(str)); if (_dicButtonItems.Values.All(s => s.IsPress)) { UnregButtonCheckNotification(); GameCompleted(); //return; } } } } }
private void Callback_Notify(object sender, WcfResultInfo e) { lock (_lockObj) { if (e.IsError) { PostResult(false); } var switchItem = e.Data.ToObject <SwitchItem>(); if (_raiseButtonItems.ContainsKey(switchItem.SwitchNumber)) { _raiseButtonItems[switchItem.SwitchNumber] = true; var result = _raiseButtonItems.Values.All(s => s); if (result) { PostResult(true); } } else { if (_allCheckButtonItems != null) { var result = _allCheckButtonItems.Any(s => s.Number == switchItem.SwitchNumber); if (result) { PostResult(false); } } } } }
private void Callback_Notify(object sender, WcfResultInfo e) { if (e.IsError) { return; } var switchItem = e.Data.ToObject <SwitchItem>(); OnNotifySwitchItem(switchItem); }
private void Callback_Notify(object sender, WcfResultInfo e) { lock (_lockObj) { if (_checkButtonItems != null) { if (e.IsError) { PostResult(null); } var switchItem = e.Data.ToObject <SwitchItem>(); var findItem = _checkButtonItems.Find(s => s.Number == switchItem.SwitchNumber); if (findItem != null) { PostResult(findItem); } } } }
private void Callback_Notify(object sender, WcfResultInfo e) { if (e.IsError) { return; } var switchItem = e.Data.ToObject <SwitchItem>(); var stamp = Guid.NewGuid(); //Debug.WriteLine($"STAMP: {stamp.ToString().Remove(8)} SWITCHNUMBER: {switchItem.SwitchNumber} DEVICENUMBER: {_devicenumber} SWITCHSTATUS: {switchItem.SwitchStatus}"); var switchItemWithDeviceNumber = new SwitchItemWithDeviceNumber { Stamp = stamp, SwitchItem = switchItem, DeviceNumber = _devicenumber }; HitTaskCache.PushMessage(switchItemWithDeviceNumber); OnNotifySwitchItem(); }
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(); } } }
protected virtual void OnNotify(WcfResultInfo e) { Notify?.Invoke(this, e); }
public void NotifyMessage(WcfResultInfo wcfResutlInfo) { OnNotify(wcfResutlInfo); }