public static void PostMessage(Message msg) { List<Subsystem> interested; listeners.TryGetValue(msg.GetType(), out interested); if (interested != null) { foreach (Subsystem sys in interested) { SendMessage(msg, sys); } } }
private static void SendMessage(Message msg, Subsystem sys) { sys.Messages.AddMessage(msg); }