public static Action <byte[]> ReceiveActionHelper() { return(new Action <byte[]>((message) => { Serilog.Log.Debug("{0} {1}: Message Received Handler, Message is {2}", "PluginVAGameAOE", "ReceiveMessage", System.Text.Encoding.UTF8.GetString(message, 0, message.Length)); // Convert byte[] to an Game AOE message VoiceAttackActionWithDelay voiceAttackActionWithDelay = ((ATAP.Utilities.VoiceAttack.Game.AOE.Data)Data).FromByteArray(message); switch (voiceAttackActionWithDelay.VoiceAttackAction.VoiceAttackActionKind) { case VoiceAttackActionKind.Say: Serilog.Log.Debug("{0} {1}: VoiceAttackAction Say {2}", "PluginVAGameAOE", "ReceiveMessage", ((VoiceAttackActionSay)voiceAttackActionWithDelay.VoiceAttackAction).Phrase); // toDo: PreDelay Data.SpeechSynthesizer.Speak(((VoiceAttackActionSay)voiceAttackActionWithDelay.VoiceAttackAction).Phrase); // toDo: PostDelay break; case VoiceAttackActionKind.Command: Serilog.Log.Debug("{0} {1}: VoiceAttackAction Command {2}", "PluginVAGameAOE", "ReceiveMessage", ((VoiceAttackActionCommand)voiceAttackActionWithDelay.VoiceAttackAction).Command); // toDo: PreDelay Data.StoredVAProxy.Command.Execute(((VoiceAttackActionCommand)voiceAttackActionWithDelay.VoiceAttackAction).Command); // toDo: PostDelay break; case VoiceAttackActionKind.Delay: break; // ToDo: Delay command default: throw new InvalidDataException($"Invalid VoiceAttackActionKind {voiceAttackActionWithDelay.VoiceAttackAction.VoiceAttackActionKind.ToString()}"); } ; })); }
public byte[] ToByteArray(VoiceAttackActionWithDelay voiceAttackActionWithDelay) { // Serialize to JSON using specified Serializer return(System.Text.Encoding.UTF8.GetBytes(Serializer.Serialize(voiceAttackActionWithDelay))); }
public string ToJson(VoiceAttackActionWithDelay voiceAttackActionWithDelay) { // Serialize to JSON using specified Serializer return(Serializer.Serialize(voiceAttackActionWithDelay)); }