示例#1
0
 /// <summary>
 /// discharge message
 /// </summary>
 /// <param name="Reciever"></param>
 /// <param name="Message"></param>
 private void DischargeMessage(BaseEntity Reciever, Telegram Message)
 {
     if (!Reciever.HandleMessage(Message))
     {
         throw new Exception("No message handler for this message found!");
     }
 }
示例#2
0
        /// <summary>
        /// dispatch a message
        /// </summary>
        /// <param name="_Sender">id of sender</param>
        /// <param name="_Reciever">id of receiver</param>
        /// <param name="_Message">id of message</param>
        /// <param name="Delay">time to wait</param>
        /// <param name="_AdditionalInfo">place for additional information or parameter</param>
        public void DispatchMessage(Int32 _Sender, Int32 _Reciever, Int32 _Message, double Delay, Object _AdditionalInfo)
        {
            Messaging.Telegram Message = new Telegram(_Sender, _Reciever, _Message, DateTime.Now.AddSeconds(Delay), _AdditionalInfo);

            if (Delay != 0)
            {
                this.lstDelayedMessages.Add(Message);
            }
            else
            {
                DischargeMessage(Pattern.Singleton<EntityManager>.Instance.GetEntityByID(Message.Reciever), Message);
            }
        }
示例#3
0
 public abstract bool HandleMessage(Telegram Message);