public void NotifyNewArchivedMessage(ArchivedMessage message) { if (!archivedMessages.Contains(message)) { archivedMessages.Add(message); } }
public static void Postfix(string text, MessageSound sound) { var plainMsg = new ArchivedMessage(text, GlobalTargetInfo.Invalid); var logger = Current.Game.GetComponent <Logger>(); if (logger != null) { logger.NotifyNewArchivedMessage(plainMsg); } }
private void DrawMessage(Rect originalRect, ArchivedMessage message, float topY) { //Draw message rect Rect msgRect = new Rect(originalRect.x, topY, originalRect.width, Text.LineHeight * 2f); //Draw message content Text.Anchor = TextAnchor.MiddleLeft; Widgets.Label(msgRect, message.text); Text.Anchor = TextAnchor.UpperLeft; //Reset to RimWorld default //Thing target button and highlight if lookTarget exists if (message.lookTarget.IsValid) { Widgets.DrawHighlightIfMouseover(msgRect); TooltipHandler.TipRegion(msgRect, "Notifications_Archiver_TargetedMessage_Tooltip".Translate()); if (Widgets.ButtonInvisible(msgRect, false)) { CameraJumper.TryJumpAndSelect(message.lookTarget); } } }