// Interaction Received public override void FdAmb_InteractionReceivedHandler(object sender, Racon.RtiLayer.HlaInteractionEventArgs data) { // Call the base class handler base.FdAmb_InteractionReceivedHandler(sender, data); // User code // Which interaction class? if (data.Interaction.ClassHandle == Som.ChatIC.Handle) { string sentBy = ""; string msg = ""; var ts = new DateTime(); //double ts = 0; // Get parameter values // 1st Method // Check which parameter is updated if (data.IsValueUpdated(Som.ChatIC.Sender)) { sentBy = data.GetParameterValue <string>(Som.ChatIC.Sender); } if (data.IsValueUpdated(Som.ChatIC.Message)) { msg = data.GetParameterValue <string>(Som.ChatIC.Message); } if (data.IsValueUpdated(Som.ChatIC.TimeStamp)) { ts = data.GetParameterValue <DateTime>(Som.ChatIC.TimeStamp); } // 2nd method //foreach (var item in data.Interaction.Parameters) //{ //if (Som.ChatIC.Sender.Handle == item.Handle) sentBy = item.GetValue<string>(); //else if (Som.ChatIC.Message.Handle == item.Handle) msg = item.GetValue<string>(); //else if (Som.ChatIC.TimeStamp.Handle == item.Handle) ts = item.GetValue<DateTime>(); // must match with AddValue() type //} ViewText = sentBy + "> " + msg + " (" + ts + ")" + ". Send Reason: " + data.Tag.GetData <string>() + Environment.NewLine; } }
/// <summary> /// /// </summary> protected virtual void OnInteractionReceived(HlaInteractionEventArgs e) { InteractionReceived?.Invoke(this, e);// Raise the event. }