From 867efcc6e8f21b9752f4ead7737a95ebcd7146d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Fri, 21 Oct 2022 16:10:46 +0200 Subject: [PATCH] Add Media.DisplayMessageToPlayer --- OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs | 11 ++++++++++- mods/common/scripts/utils.lua | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs b/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs index d9614d176b..3b0f6a2419 100644 --- a/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs +++ b/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs @@ -187,7 +187,7 @@ namespace OpenRA.Mods.Common.Scripting return true; } - [Desc("Display a text message to the player.")] + [Desc("Display a text message to all players.")] public void DisplayMessage(string text, string prefix = "Mission", Color? color = null) { if (string.IsNullOrEmpty(text)) @@ -197,6 +197,15 @@ namespace OpenRA.Mods.Common.Scripting TextNotificationsManager.AddMissionLine(prefix, text, c); } + [Desc("Display a text message only to this player.")] + public void DisplayMessageToPlayer(Player player, string text, string prefix = "Mission", Color? color = null) + { + if (world.LocalPlayer != player) + return; + + DisplayMessage(text, prefix, color); + } + [Desc("Display a system message to the player. If 'prefix' is nil the default system prefix is used.")] public void DisplaySystemMessage(string text, string prefix = null) { diff --git a/mods/common/scripts/utils.lua b/mods/common/scripts/utils.lua index f5d5add4f0..23041c381b 100644 --- a/mods/common/scripts/utils.lua +++ b/mods/common/scripts/utils.lua @@ -19,7 +19,7 @@ end ---@return number id used to query for the objective later AddPrimaryObjective = function(player, description) local translation = UserInterface.Translate(description) - Media.DisplayMessage(translation, UserInterface.Translate("new-primary-objective")) + Media.DisplayMessageToPlayer(player, translation, UserInterface.Translate("new-primary-objective")) return player.AddObjective(translation, UserInterface.Translate("primary"), true) end @@ -29,6 +29,6 @@ end ---@return number id used to query for the objective later AddSecondaryObjective = function(player, description) local translation = UserInterface.Translate(description) - Media.DisplayMessage(translation, UserInterface.Translate("new-secondary-objective")) + Media.DisplayMessageToPlayer(player, translation, UserInterface.Translate("new-secondary-objective")) return player.AddObjective(translation, UserInterface.Translate("secondary"), false) end