remove refs to Game.world in widgets
This commit is contained in:
@@ -19,10 +19,15 @@ namespace OpenRA.Widgets
|
|||||||
public class WorldTooltipWidget : Widget
|
public class WorldTooltipWidget : Widget
|
||||||
{
|
{
|
||||||
public int TooltipDelay = 10;
|
public int TooltipDelay = 10;
|
||||||
public WorldTooltipWidget() : base() { }
|
readonly World world;
|
||||||
|
[ObjectCreator.UseCtor]
|
||||||
|
public WorldTooltipWidget( [ObjectCreator.Param] World world )
|
||||||
|
{
|
||||||
|
this.world = world;
|
||||||
|
}
|
||||||
|
|
||||||
public override void DrawInner( WorldRenderer wr )
|
public override void DrawInner( WorldRenderer wr )
|
||||||
{
|
{
|
||||||
var world = Game.world;
|
|
||||||
if (Viewport.TicksSinceLastMove < TooltipDelay || world == null || world.LocalPlayer == null)
|
if (Viewport.TicksSinceLastMove < TooltipDelay || world == null || world.LocalPlayer == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -19,11 +19,15 @@ namespace OpenRA.Mods.RA.Widgets
|
|||||||
{
|
{
|
||||||
public bool SplitOreAndCash = false;
|
public bool SplitOreAndCash = false;
|
||||||
|
|
||||||
public MoneyBinWidget() : base() { }
|
readonly World world;
|
||||||
|
[ObjectCreator.UseCtor]
|
||||||
|
public MoneyBinWidget( [ObjectCreator.Param] World world )
|
||||||
|
{
|
||||||
|
this.world = world;
|
||||||
|
}
|
||||||
|
|
||||||
public override void DrawInner( WorldRenderer wr )
|
public override void DrawInner( WorldRenderer wr )
|
||||||
{
|
{
|
||||||
var world = Game.world;
|
|
||||||
if( world.LocalPlayer == null ) return;
|
if( world.LocalPlayer == null ) return;
|
||||||
|
|
||||||
var playerResources = world.LocalPlayer.PlayerActor.Trait<PlayerResources>();
|
var playerResources = world.LocalPlayer.PlayerActor.Trait<PlayerResources>();
|
||||||
|
|||||||
@@ -25,9 +25,15 @@ namespace OpenRA.Mods.RA.Widgets
|
|||||||
float? lastPowerDrainedPos;
|
float? lastPowerDrainedPos;
|
||||||
string powerCollection;
|
string powerCollection;
|
||||||
|
|
||||||
|
readonly World world;
|
||||||
|
[ObjectCreator.UseCtor]
|
||||||
|
public PowerBinWidget( [ObjectCreator.Param] World world )
|
||||||
|
{
|
||||||
|
this.world = world;
|
||||||
|
}
|
||||||
|
|
||||||
public override void DrawInner( WorldRenderer wr )
|
public override void DrawInner( WorldRenderer wr )
|
||||||
{
|
{
|
||||||
var world = Game.world;
|
|
||||||
if( world.LocalPlayer == null ) return;
|
if( world.LocalPlayer == null ) return;
|
||||||
|
|
||||||
powerCollection = "power-" + world.LocalPlayer.Country.Race;
|
powerCollection = "power-" + world.LocalPlayer.Country.Race;
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ namespace OpenRA.Mods.RA.Widgets
|
|||||||
bool hasRadar = false;
|
bool hasRadar = false;
|
||||||
string radarCollection;
|
string radarCollection;
|
||||||
|
|
||||||
World world;
|
|
||||||
float previewScale = 0;
|
float previewScale = 0;
|
||||||
RectangleF mapRect = Rectangle.Empty;
|
RectangleF mapRect = Rectangle.Empty;
|
||||||
int2 previewOrigin;
|
int2 previewOrigin;
|
||||||
@@ -39,7 +38,9 @@ namespace OpenRA.Mods.RA.Widgets
|
|||||||
Sprite actorSprite;
|
Sprite actorSprite;
|
||||||
Sprite shroudSprite;
|
Sprite shroudSprite;
|
||||||
|
|
||||||
public void SetWorld(World world)
|
readonly World world;
|
||||||
|
[ObjectCreator.UseCtor]
|
||||||
|
public RadarBinWidget( [ObjectCreator.Param] World world )
|
||||||
{
|
{
|
||||||
this.world = world;
|
this.world = world;
|
||||||
var size = Math.Max(world.Map.Width, world.Map.Height);
|
var size = Math.Max(world.Map.Width, world.Map.Height);
|
||||||
@@ -47,7 +48,6 @@ namespace OpenRA.Mods.RA.Widgets
|
|||||||
previewOrigin = new int2(9 + (int)(radarOpenOrigin.X + previewScale * (size - world.Map.Width)/2), (int)(radarOpenOrigin.Y + previewScale * (size - world.Map.Height)/2));
|
previewOrigin = new int2(9 + (int)(radarOpenOrigin.X + previewScale * (size - world.Map.Width)/2), (int)(radarOpenOrigin.Y + previewScale * (size - world.Map.Height)/2));
|
||||||
mapRect = new RectangleF(previewOrigin.X, previewOrigin.Y, (int)(world.Map.Width * previewScale), (int)(world.Map.Height * previewScale));
|
mapRect = new RectangleF(previewOrigin.X, previewOrigin.Y, (int)(world.Map.Width * previewScale), (int)(world.Map.Height * previewScale));
|
||||||
|
|
||||||
|
|
||||||
// Only needs to be done once
|
// Only needs to be done once
|
||||||
var terrainBitmap = Minimap.TerrainBitmap(world.Map);
|
var terrainBitmap = Minimap.TerrainBitmap(world.Map);
|
||||||
var r = new Rectangle( 0, 0, world.Map.Width, world.Map.Height );
|
var r = new Rectangle( 0, 0, world.Map.Width, world.Map.Height );
|
||||||
@@ -160,10 +160,6 @@ namespace OpenRA.Mods.RA.Widgets
|
|||||||
int updateTicks = 0;
|
int updateTicks = 0;
|
||||||
public override void Tick()
|
public override void Tick()
|
||||||
{
|
{
|
||||||
var w = Game.world;
|
|
||||||
if( world != w )
|
|
||||||
SetWorld( w );
|
|
||||||
|
|
||||||
var hasRadarNew = world.Queries.OwnedBy[world.LocalPlayer]
|
var hasRadarNew = world.Queries.OwnedBy[world.LocalPlayer]
|
||||||
.WithTrait<ProvidesRadar>()
|
.WithTrait<ProvidesRadar>()
|
||||||
.Any(a => a.Trait.IsActive);
|
.Any(a => a.Trait.IsActive);
|
||||||
|
|||||||
@@ -25,7 +25,12 @@ namespace OpenRA.Mods.RA.Widgets
|
|||||||
Animation clock;
|
Animation clock;
|
||||||
readonly List<Pair<Rectangle, Action<MouseInput>>> buttons = new List<Pair<Rectangle,Action<MouseInput>>>();
|
readonly List<Pair<Rectangle, Action<MouseInput>>> buttons = new List<Pair<Rectangle,Action<MouseInput>>>();
|
||||||
|
|
||||||
public SpecialPowerBinWidget() : base() { }
|
readonly World world;
|
||||||
|
[ObjectCreator.UseCtor]
|
||||||
|
public SpecialPowerBinWidget( [ObjectCreator.Param] World world )
|
||||||
|
{
|
||||||
|
this.world = world;
|
||||||
|
}
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
@@ -65,7 +70,6 @@ namespace OpenRA.Mods.RA.Widgets
|
|||||||
|
|
||||||
public override void DrawInner( WorldRenderer wr )
|
public override void DrawInner( WorldRenderer wr )
|
||||||
{
|
{
|
||||||
var world = Game.world;
|
|
||||||
buttons.Clear();
|
buttons.Clear();
|
||||||
|
|
||||||
if( world.LocalPlayer == null ) return;
|
if( world.LocalPlayer == null ) return;
|
||||||
|
|||||||
Reference in New Issue
Block a user