Пример #1
0
        public void HandlePrompts(object sender, EventArgs <ExchangeOfBlows> e)
        {
            Log.Debug(_tag, $"Dispatching prompts - {e.Value.MyClassifierKey}#{e.Value.MyGestureIndex} for me, {e.Value.OppClassifierKey}#{e.Value.OppGestureIndex} for them.");
            var msg = new Message(MsgType.Notify, $"{PROMPT}{NEXT}{e.Value.OpponentCue}");

            Opponent.SendMessage(msg);
            OnPromptCue.Raise(e.Value.MyCue);
        }
Пример #2
0
        public override void Activate(CancellationToken?externalStopToken = null)
        {
            base.Activate(externalStopToken);

            Generator.OnExchangeChosen += (o, e) =>
            {
                OnPromptCue.Raise(e.Value.MyCue);
            };
            Generator.Activate(StopToken);
        }
Пример #3
0
        public void HandleMessage(object sender, EventArgs <Message> messageArgs)
        {
            var message = messageArgs.Value;

            if (message.Type != MsgType.Notify || !message.Content.StartsWith(PROMPT))
            {
                Log.Debug(_tag, $"Handling malformed message: {message.Type} | {message.Content}");
                return;
            }

            Log.Debug(_tag, $"Parsing cue prompt message: {message.Type} | {message.Content}");
            var cuestring = message.Content.Split(onNEXT, 2)[1];
            var cue       = ChoreographyCue.Parse(cuestring);

            OnPromptCue.Raise(cue);
        }
Пример #4
0
        public override void Activate(CancellationToken?externalStopToken = null)
        {
            base.Activate(externalStopToken);

            Generator.OnExchangeChosen += async(o, e) =>
            {
                IsOnPlayerTwo = false;
                OnPromptCue.Raise(e.Value.MyCue);
                await ReceivedSubmission.WaitAsync();

                await Task.Delay(500);

                var cue = e.Value.OpponentCue;
                cue.CueTime = DateTime.Now + TimeSpan.FromMilliseconds(250);
                OnPromptCue.Raise(cue);
            };
            Generator.Activate(StopToken);
        }