예제 #1
0
        // 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;
            }
        }
예제 #2
0
 /// <summary>
 ///
 /// </summary>
 protected virtual void OnInteractionReceived(HlaInteractionEventArgs e)
 {
     InteractionReceived?.Invoke(this, e);// Raise the event.
 }