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); }
public override void Activate(CancellationToken?externalStopToken = null) { base.Activate(externalStopToken); Generator.OnExchangeChosen += (o, e) => { OnPromptCue.Raise(e.Value.MyCue); }; Generator.Activate(StopToken); }
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); }
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); }