remove a little of the most blatant idiocy from StrategicProgressWidget
This commit is contained in:
@@ -8,11 +8,8 @@
|
|||||||
*/
|
*/
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
|
||||||
using OpenRA.Graphics;
|
using OpenRA.Graphics;
|
||||||
using OpenRA.Traits;
|
using OpenRA.Traits;
|
||||||
using OpenRA.Widgets;
|
using OpenRA.Widgets;
|
||||||
@@ -23,13 +20,12 @@ namespace OpenRA.Mods.RA.Widgets
|
|||||||
{
|
{
|
||||||
bool Initialised = false;
|
bool Initialised = false;
|
||||||
readonly World world;
|
readonly World world;
|
||||||
readonly WorldRenderer worldRenderer;
|
|
||||||
[ObjectCreator.UseCtor]
|
[ObjectCreator.UseCtor]
|
||||||
public StrategicProgressWidget([ObjectCreator.Param] World world, [ObjectCreator.Param] WorldRenderer worldRenderer)
|
public StrategicProgressWidget([ObjectCreator.Param] World world)
|
||||||
{
|
{
|
||||||
IsVisible = () => true;
|
IsVisible = () => true;
|
||||||
this.world = world;
|
this.world = world;
|
||||||
this.worldRenderer = worldRenderer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void DrawInner()
|
public override void DrawInner()
|
||||||
@@ -49,7 +45,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.Owner == worldRenderer.world.LocalPlayer || (a.Owner.Stances[world.LocalPlayer] == Stance.Ally && world.LocalPlayer.Stances[a.Owner] == Stance.Ally))
|
if (a.Owner == world.LocalPlayer || (a.Owner.Stances[world.LocalPlayer] == Stance.Ally && world.LocalPlayer.Stances[a.Owner] == Stance.Ally))
|
||||||
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.Owner.NonCombatant)
|
else if (!a.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));
|
||||||
@@ -124,9 +120,12 @@ namespace OpenRA.Mods.RA.Widgets
|
|||||||
return shortestPlayer;
|
return shortestPlayer;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Init()
|
void Init()
|
||||||
{
|
{
|
||||||
IsVisible = () => (world.Actors.Where(a => a.HasTrait<StrategicVictoryConditions>()).Any() && world.Actors.Where(a => a.HasTrait<StrategicPoint>()).Any());
|
var visible = world.ActorsWithTrait<StrategicVictoryConditions>().Any() &&
|
||||||
|
world.ActorsWithTrait<StrategicPoint>().Any();
|
||||||
|
|
||||||
|
IsVisible = () => visible;
|
||||||
Initialised = true;
|
Initialised = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user