use common version of AreMutualAllies in SPW

This commit is contained in:
Chris Forbes
2011-07-09 16:59:58 +12:00
committed by Paul Chote
parent f37cf32021
commit 85bb56fd8f

View File

@@ -8,12 +8,12 @@
*/ */
#endregion #endregion
using System;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using OpenRA.Graphics; using OpenRA.Graphics;
using OpenRA.Traits; using OpenRA.Traits;
using OpenRA.Widgets; using OpenRA.Widgets;
using System;
namespace OpenRA.Mods.RA.Widgets namespace OpenRA.Mods.RA.Widgets
{ {
@@ -29,12 +29,6 @@ namespace OpenRA.Mods.RA.Widgets
this.world = world; this.world = world;
} }
bool AreMutualAllies(Player a, Player b)
{
return a.Stances[b] == Stance.Ally &&
b.Stances[a] == Stance.Ally;
}
public override void Draw() public override void Draw()
{ {
if (!Initialised) if (!Initialised)
@@ -52,7 +46,7 @@ namespace OpenRA.Mods.RA.Widgets
{ {
WidgetUtils.DrawRGBA(ChromeProvider.GetImage("strategic", "unowned"), offset + new float2(RenderBounds.Left + curX, RenderBounds.Top)); WidgetUtils.DrawRGBA(ChromeProvider.GetImage("strategic", "unowned"), offset + new float2(RenderBounds.Left + curX, RenderBounds.Top));
if (a.Actor.Owner == world.LocalPlayer || AreMutualAllies(a.Actor.Owner, world.LocalPlayer)) if (WorldUtils.AreMutualAllies(a.Actor.Owner, world.LocalPlayer))
WidgetUtils.DrawRGBA(ChromeProvider.GetImage("strategic", "player_owned"), offset + new float2(RenderBounds.Left + curX, RenderBounds.Top)); WidgetUtils.DrawRGBA(ChromeProvider.GetImage("strategic", "player_owned"), offset + new float2(RenderBounds.Left + curX, RenderBounds.Top));
else if (!a.Actor.Owner.NonCombatant) else if (!a.Actor.Owner.NonCombatant)
WidgetUtils.DrawRGBA(ChromeProvider.GetImage("strategic", "enemy_owned"), offset + new float2(RenderBounds.Left + curX, RenderBounds.Top)); WidgetUtils.DrawRGBA(ChromeProvider.GetImage("strategic", "enemy_owned"), offset + new float2(RenderBounds.Left + curX, RenderBounds.Top));
@@ -63,7 +57,7 @@ namespace OpenRA.Mods.RA.Widgets
{ {
WidgetUtils.DrawRGBA(ChromeProvider.GetImage("strategic", "critical_unowned"), offset + new float2(RenderBounds.Left + curX, RenderBounds.Top)); WidgetUtils.DrawRGBA(ChromeProvider.GetImage("strategic", "critical_unowned"), offset + new float2(RenderBounds.Left + curX, RenderBounds.Top));
if (a.Actor.Owner == world.LocalPlayer || AreMutualAllies(a.Actor.Owner, world.LocalPlayer)) if (WorldUtils.AreMutualAllies(a.Actor.Owner, world.LocalPlayer))
WidgetUtils.DrawRGBA(ChromeProvider.GetImage("strategic", "player_owned"), offset + new float2(RenderBounds.Left + curX, RenderBounds.Top)); WidgetUtils.DrawRGBA(ChromeProvider.GetImage("strategic", "player_owned"), offset + new float2(RenderBounds.Left + curX, RenderBounds.Top));
else if (!a.Actor.Owner.NonCombatant) else if (!a.Actor.Owner.NonCombatant)
WidgetUtils.DrawRGBA(ChromeProvider.GetImage("strategic", "enemy_owned"), offset + new float2(RenderBounds.Left + curX, RenderBounds.Top)); WidgetUtils.DrawRGBA(ChromeProvider.GetImage("strategic", "enemy_owned"), offset + new float2(RenderBounds.Left + curX, RenderBounds.Top));
@@ -77,7 +71,7 @@ namespace OpenRA.Mods.RA.Widgets
if (pendingWinner == null) return; if (pendingWinner == null) return;
var winnerSvc = pendingWinner.PlayerActor.Trait<StrategicVictoryConditions>(); var winnerSvc = pendingWinner.PlayerActor.Trait<StrategicVictoryConditions>();
var isVictory = pendingWinner == world.LocalPlayer || !AreMutualAllies(pendingWinner, world.LocalPlayer); var isVictory = pendingWinner == world.LocalPlayer || !WorldUtils.AreMutualAllies(pendingWinner, world.LocalPlayer);
var tc = "Strategic {0} in {1}".F( var tc = "Strategic {0} in {1}".F(
isVictory ? "victory" : "defeat", isVictory ? "victory" : "defeat",
WidgetUtils.FormatTime(Math.Max(winnerSvc.CriticalTicksLeft, winnerSvc.TicksLeft))); WidgetUtils.FormatTime(Math.Max(winnerSvc.CriticalTicksLeft, winnerSvc.TicksLeft)));