diff --git a/OpenRA.Mods.Common/Scripting/ScriptTriggers.cs b/OpenRA.Mods.Common/Scripting/ScriptTriggers.cs index 502ed8ad1b..7c69e79285 100644 --- a/OpenRA.Mods.Common/Scripting/ScriptTriggers.cs +++ b/OpenRA.Mods.Common/Scripting/ScriptTriggers.cs @@ -175,7 +175,7 @@ namespace OpenRA.Mods.Common.Scripting OnProducedInternal(self, other); } - public void OnPlayerWon(Player player) + void INotifyObjectivesUpdated.OnPlayerWon(Player player) { if (world.Disposing) return; @@ -195,7 +195,7 @@ namespace OpenRA.Mods.Common.Scripting } } - public void OnPlayerLost(Player player) + void INotifyObjectivesUpdated.OnPlayerLost(Player player) { if (world.Disposing) return; @@ -215,7 +215,7 @@ namespace OpenRA.Mods.Common.Scripting } } - public void OnObjectiveAdded(Player player, int id) + void INotifyObjectivesUpdated.OnObjectiveAdded(Player player, int id) { if (world.Disposing) return; @@ -236,7 +236,7 @@ namespace OpenRA.Mods.Common.Scripting } } - public void OnObjectiveCompleted(Player player, int id) + void INotifyObjectivesUpdated.OnObjectiveCompleted(Player player, int id) { if (world.Disposing) return; @@ -257,7 +257,7 @@ namespace OpenRA.Mods.Common.Scripting } } - public void OnObjectiveFailed(Player player, int id) + void INotifyObjectivesUpdated.OnObjectiveFailed(Player player, int id) { if (world.Disposing) return; diff --git a/OpenRA.Mods.Common/Traits/Player/ConquestVictoryConditions.cs b/OpenRA.Mods.Common/Traits/Player/ConquestVictoryConditions.cs index d8b37e51b4..a4616313c0 100644 --- a/OpenRA.Mods.Common/Traits/Player/ConquestVictoryConditions.cs +++ b/OpenRA.Mods.Common/Traits/Player/ConquestVictoryConditions.cs @@ -68,7 +68,7 @@ namespace OpenRA.Mods.Common.Traits mo.MarkCompleted(self.Owner, objectiveID); } - public void OnPlayerLost(Player player) + void INotifyObjectivesUpdated.OnPlayerLost(Player player) { foreach (var a in player.World.ActorsWithTrait().Where(a => a.Actor.Owner == player)) a.Trait.OnOwnerLost(a.Actor); @@ -84,7 +84,7 @@ namespace OpenRA.Mods.Common.Traits }); } - public void OnPlayerWon(Player player) + void INotifyObjectivesUpdated.OnPlayerWon(Player player) { if (info.SuppressNotifications) return; @@ -97,8 +97,8 @@ namespace OpenRA.Mods.Common.Traits }); } - public void OnObjectiveAdded(Player player, int id) { } - public void OnObjectiveCompleted(Player player, int id) { } - public void OnObjectiveFailed(Player player, int id) { } + void INotifyObjectivesUpdated.OnObjectiveAdded(Player player, int id) { } + void INotifyObjectivesUpdated.OnObjectiveCompleted(Player player, int id) { } + void INotifyObjectivesUpdated.OnObjectiveFailed(Player player, int id) { } } } diff --git a/OpenRA.Mods.Common/Traits/Player/MissionObjectives.cs b/OpenRA.Mods.Common/Traits/Player/MissionObjectives.cs index 47001d48a7..1faf5bf158 100644 --- a/OpenRA.Mods.Common/Traits/Player/MissionObjectives.cs +++ b/OpenRA.Mods.Common/Traits/Player/MissionObjectives.cs @@ -168,7 +168,7 @@ namespace OpenRA.Mods.Common.Traits }); } - public void OnPlayerWon(Player player) + void INotifyObjectivesUpdated.OnPlayerWon(Player player) { var players = player.World.Players.Where(p => !p.NonCombatant); var enemies = players.Where(p => !p.IsAlliedWith(player)); @@ -204,7 +204,7 @@ namespace OpenRA.Mods.Common.Traits CheckIfGameIsOver(player); } - public void OnPlayerLost(Player player) + void INotifyObjectivesUpdated.OnPlayerLost(Player player) { var players = player.World.Players.Where(p => !p.NonCombatant); var enemies = players.Where(p => !p.IsAlliedWith(player)); @@ -259,9 +259,9 @@ namespace OpenRA.Mods.Common.Traits public event Action ObjectiveAdded = (player, inhibitAnnouncement) => { player.HasObjectives = true; }; - public void OnObjectiveAdded(Player player, int id) { } - public void OnObjectiveCompleted(Player player, int id) { } - public void OnObjectiveFailed(Player player, int id) { } + void INotifyObjectivesUpdated.OnObjectiveAdded(Player player, int id) { } + void INotifyObjectivesUpdated.OnObjectiveCompleted(Player player, int id) { } + void INotifyObjectivesUpdated.OnObjectiveFailed(Player player, int id) { } public void ResolveOrder(Actor self, Order order) { diff --git a/OpenRA.Mods.Common/Traits/Player/StrategicVictoryConditions.cs b/OpenRA.Mods.Common/Traits/Player/StrategicVictoryConditions.cs index 26306009b6..1755b3b680 100644 --- a/OpenRA.Mods.Common/Traits/Player/StrategicVictoryConditions.cs +++ b/OpenRA.Mods.Common/Traits/Player/StrategicVictoryConditions.cs @@ -107,7 +107,7 @@ namespace OpenRA.Mods.Common.Traits } } - public void OnPlayerLost(Player player) + void INotifyObjectivesUpdated.OnPlayerLost(Player player) { foreach (var a in player.World.ActorsWithTrait().Where(a => a.Actor.Owner == player)) a.Trait.OnOwnerLost(a.Actor); @@ -123,7 +123,7 @@ namespace OpenRA.Mods.Common.Traits }); } - public void OnPlayerWon(Player player) + void INotifyObjectivesUpdated.OnPlayerWon(Player player) { if (info.SuppressNotifications) return; @@ -136,8 +136,8 @@ namespace OpenRA.Mods.Common.Traits }); } - public void OnObjectiveAdded(Player player, int id) { } - public void OnObjectiveCompleted(Player player, int id) { } - public void OnObjectiveFailed(Player player, int id) { } + void INotifyObjectivesUpdated.OnObjectiveAdded(Player player, int id) { } + void INotifyObjectivesUpdated.OnObjectiveCompleted(Player player, int id) { } + void INotifyObjectivesUpdated.OnObjectiveFailed(Player player, int id) { } } } diff --git a/OpenRA.Mods.Common/TraitsInterfaces.cs b/OpenRA.Mods.Common/TraitsInterfaces.cs index 1b6cb57de1..3b3152df64 100644 --- a/OpenRA.Mods.Common/TraitsInterfaces.cs +++ b/OpenRA.Mods.Common/TraitsInterfaces.cs @@ -425,6 +425,7 @@ namespace OpenRA.Mods.Common.Traits int ExitDelay { get; } } + [RequireExplicitImplementation] public interface INotifyObjectivesUpdated { void OnPlayerWon(Player winner);