Esempio n. 1
0
        public static async Task <bool> InvokerControlRelay(MachineRelayItem relayItem, bool isNo)
        {
            var notificationService = new NetTcpWcfClientService <ITLAutoDevice>(relayItem.ServiceAddress);

            RegWcfEvents(notificationService);
            var result = await notificationService.SendAsync(async proxy =>
            {
                var controlInfo = new ControlInfo {
                    ServiceKey = CommonConfigHelper.PLCServiceKey
                };
                var serviceData = new PLCControlServiceData
                {
                    ControlPLCType = ControlPLCType.ControlRelay,
                    DeviceNumber   = relayItem.DeviceNumber,
                    Number         = new[] { relayItem.Number },
                    PortSignName   = relayItem.SignName,
                    RelayStatus    = isNo
                };
                controlInfo.Data = serviceData.ToBytes();
                var resultInfo   = await proxy.ControlDevice(controlInfo);
                if (!resultInfo.IsError && (resultInfo.Data != null))
                {
                    return(true);
                }
                return(false);
            });

            UnregWcfEvents(notificationService);
            return(result);
        }
Esempio n. 2
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;
        }
Esempio n. 3
0
        private void Init()
        {
            _hitKing      = ButtonItems[0];
            _listenKing   = ButtonItems[1];
            _hitMage      = ButtonItems[2];
            _listenMage   = ButtonItems[3];
            _hitKnight    = ButtonItems[4];
            _listenKnight = ButtonItems[5];
            _hitElf       = ButtonItems[6];
            _listenElf    = ButtonItems[7];

            _fotoKing   = RelayItems[0];
            _fotoMage   = RelayItems[1];
            _fotoKnight = RelayItems[2];
            _fotoElf    = RelayItems[3];

            _life.Add(RelayItems[4]);
            _life.Add(RelayItems[5]);
            _life.Add(RelayItems[6]);

            _persons.Add(_listenKing, Tuple.Create("argue_king.wav", 38000, _listenKing, _hitKing, _fotoKing));
            _persons.Add(_listenKnight, Tuple.Create("argue_knight.wav", 24000, _listenKnight, _hitKnight, _fotoKnight));
            _persons.Add(_listenMage, Tuple.Create("argue_mage.wav", 43000, _listenMage, _hitMage, _fotoMage));
            _persons.Add(_listenElf, Tuple.Create("argue_elf.wav", 18000, _listenElf, _hitElf, _fotoElf));

            _gameSayingTimer.Elapsed   += GameSayingTimerElapsed;
            _gameRefutingTimer.Elapsed += _gameRefutingTimer_Elapsed;
            _lifeTimer.Elapsed         += LifeTimerElapsed;
            _alive        = true;
            _hitCheckTask = new HitCheckTask.HitCheckTask(SignKey, _hitKing);
        }
Esempio n. 4
0
 public override void StartGame(DifficultyLevelType diffLevelType, string[] args)
 {
     _beginButtonItem  = ButtonItems[0];
     _midwayButtonItem = ButtonItems[1];
     _endButtonItem    = ButtonItems[2];
     _errorRelayItem   = RelayItems[0];
     _rightRelayItem   = RelayItems[1];
     Task.Factory.StartNew(GameLogic);
 }
Esempio n. 5
0
        public static void LoadEnemy(int buttonid, MachineButtonItem button, MachineRelayItem light)
        {
            var hitButon = new HitButon(buttonid, button, light);

            switch (buttonid)
            {
            case 14:
            case 15:
            case 16:
            case 17:
            case 18:
            case 19:
            case 20:
                hitButon.Sound = string.Empty;
                break;

            case 1:
            case 2:
            case 3:
            case 4:
            case 21:
            case 23:
            case 26:
                hitButon.Sound = "d.wav";
                break;

            case 5:
            case 6:
            case 7:
            case 8:
            case 9:
            case 10:
                hitButon.Sound = "soldier.mp3";
                break;

            case 22:
            case 24:
            case 27:
            case 28:
            case 29:
                hitButon.Sound = "heavy.mp3";
                break;

            case 11:
            case 12:
            case 13:
            case 25:
            case 30:
                hitButon.Sound = "assassin.mp3";
                break;
            }
            Hitters.Add(hitButon);
        }
Esempio n. 6
0
        private void Init()
        {
            _aisleCheck   = ButtonItems[0];
            _roomCheck    = ButtonItems[1];
            _listenButton = ButtonItems[2];
            _failButton   = ButtonItems[3];

            _listenLight           = RelayItems[0];
            _faillight             = RelayItems[1];
            _guardTimer.Elapsed   += _guardTimer_Elapsed;
            _stopTimer.Elapsed    += _stopTimer_Elapsed;
            _leaveTimer.Elapsed   += _leaveTimer_Elapsed;
            _toguardTimer.Elapsed += _toguardTimer_Elapsed;
            _hitCheckTask          = new HitCheckTask.HitCheckTask(SignKey, _listenButton);
        }
Esempio n. 7
0
        private void Init()
        {
            _ball1 = ButtonItems[0];
            _ball2 = ButtonItems[1];
            _ball3 = ButtonItems[2];
            _blow  = ButtonItems[3];

            _light1 = RelayItems[0];
            _light2 = RelayItems[1];
            _light3 = RelayItems[2];
            _light4 = RelayItems[3];

            _ballStatus.Add(_blow, -1);
            _ballStatus.Add(_ball1, -1);
            _ballStatus.Add(_ball2, -1);
            _ballStatus.Add(_ball3, -1);

            _hitCheckTask = new HitCheckTask.HitCheckTask(SignKey, _blow);
        }
Esempio n. 8
0
        private void Init()
        {
            _maid1Eye1    = new LineButton(ButtonItems[0]);
            _maid1Eye2    = new LineButton(ButtonItems[1]);
            _maid1Breast1 = new LineButton(ButtonItems[2]);
            _maid1Breast2 = new LineButton(ButtonItems[3]);
            _maid1Oxter1  = new LineButton(ButtonItems[4]);
            _maid1Oxter2  = new LineButton(ButtonItems[5]);

            _maid2Eye1    = new LineButton(ButtonItems[6]);
            _maid2Eye2    = new LineButton(ButtonItems[7]);
            _maid2Breast1 = new LineButton(ButtonItems[8]);
            _maid2Breast2 = new LineButton(ButtonItems[9]);
            _maid2Oxter1  = new LineButton(ButtonItems[10]);
            _maid2Oxter2  = new LineButton(ButtonItems[11]);
            _greenFace    = new LineButton(ButtonItems[12]);
            _redFace      = new LineButton(ButtonItems[13]);

            _maid1Light = RelayItems[0];
            _maid2Light = RelayItems[1];

            _maid1.Add(_maid1Eye1);
            _maid1.Add(_maid1Eye2);
            _maid1.Add(_maid1Breast1);
            _maid1.Add(_maid1Breast2);
            _maid1.Add(_maid1Oxter1);
            _maid1.Add(_maid1Oxter2);

            _maid2.Add(_maid2Eye1);
            _maid2.Add(_maid2Eye2);
            _maid2.Add(_maid2Breast1);
            _maid2.Add(_maid2Breast2);
            _maid2.Add(_maid2Oxter1);
            _maid2.Add(_maid2Oxter2);

            _step = 1;
            CreatStep();
            _hitCheckTask           = new HitCheckTask.HitCheckTask(SignKey, _redFace.MachineButtonItem);
            MaidTimer.Elapsed      += MaidTimer_Elapsed;
            Maid1MuteTimer.Elapsed += Maid1MuteTimer_Elapsed;
            Maid2MuteTimer.Elapsed += Maid2MuteTimer_Elapsed;
        }
Esempio n. 9
0
        private void Init()
        {
            //17,28,27
            _rune1 = ButtonItems[0];
            _rune2 = ButtonItems[7];
            _rune3 = ButtonItems[8];

            _light = RelayItems[0];

            foreach (var machineButtonItem in ButtonItems)
            {
                _runes.Add(machineButtonItem, 0);
            }

            _runeson.Add(_rune1);
            _runeson.Add(_rune2);
            _runeson.Add(_rune3);

            _hitCheckTask = new HitCheckTask.HitCheckTask(SignKey, _rune1);
        }
Esempio n. 10
0
 private void Init()
 {
     _listenButton = ButtonItems[0];
     _relayButton  = RelayItems[0];
 }
Esempio n. 11
0
 private static async Task LightControl(MachineRelayItem light, bool of)
 {
     await light.Control(of);
 }
Esempio n. 12
0
 /// <summary>初始化 <see cref="T:System.Object" /> 类的新实例。</summary>
 public HitButon(int buttonId, MachineButtonItem hitter, MachineRelayItem light)
 {
     ButtonId = buttonId;
     Hitter   = hitter;
     Light    = light;
 }