def dispatch_message(delay, sender_id, receiver_id, msg, extra): receiver = EntityManager.get_entity_from_id(receiver_id) message = Message(sender_id, receiver_id, msg, extra) if delay <= 0.0: discharge(receiver, message) else: message.setTime(time.time() + delay) priorityQ.add(message)
def update(): while len(priorityQ) > 0: current_time = time.time() message = priorityQ[0] if message.get_time() < current_time: receiver_id = message.get_received_id() receiver = EntityManager.get_entity_from_id(receiver_id) discharge(receiver, message) priorityQ.pop(0) time.sleep(2)