/// <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); } }
/// <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); } }