/// <summary>
        /// Updates the message handler and sends any messages than need to be sent
        /// </summary>
        public void Update()
        {
            double       currentTime;
            Message      message;
            IMessageable entity;

            currentTime = System.DateTime.Now.Ticks;

            while (messageQueue.Count != 0 && messageQueue.Peek().dispatchTime < currentTime)
            {
                message = messageQueue.Dequeue();

                //Test if the entity can handle the message
                entity = EntityManager.Instance[message.recieverID] as IMessageable;
                if (entity == null)
                {
                    return;
                }

                entity.HandleMessage(message);
            }
        }
Example #2
0
        /// <summary>
        /// Updates the message handler and sends any messages than need to be sent
        /// </summary>
        public void Update()
        {
            Message message;
            double  currentTime;

            currentTime = System.DateTime.Now.Ticks;

            while (messageQueue.Count != 0 && messageQueue.Peek().dispatchTime < currentTime)
            {
                message = messageQueue.Dequeue();

                if (registeredEntities[message.type] == null)
                {
                    return;
                }

                if (registeredEntities[message.type][message.recieverID] == null)
                {
                    return;
                }

                registeredEntities[message.type][message.recieverID](message);
            }
        }