Refactoring to remove static Rules & SequenceProvider
This commit is contained in:
2
OpenRA.Mods.RA/SupportPowers/AirstrikePower.cs
Executable file → Normal file
2
OpenRA.Mods.RA/SupportPowers/AirstrikePower.cs
Executable file → Normal file
@@ -59,7 +59,7 @@ namespace OpenRA.Mods.RA
|
||||
var attackRotation = WRot.FromFacing(attackFacing);
|
||||
var delta = new WVec(0, -1024, 0).Rotate(attackRotation);
|
||||
|
||||
var altitude = Rules.Info[info.UnitType].Traits.Get<PlaneInfo>().CruiseAltitude.Range;
|
||||
var altitude = self.World.Map.Rules.Actors[info.UnitType].Traits.Get<PlaneInfo>().CruiseAltitude.Range;
|
||||
var target = order.TargetLocation.CenterPosition + new WVec(0, 0, altitude);
|
||||
var startEdge = target - (self.World.DistanceToMapEdge(target, -delta) + info.Cordon).Range * delta / 1024;
|
||||
var finishEdge = target + (self.World.DistanceToMapEdge(target, delta) + info.Cordon).Range * delta / 1024;
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace OpenRA.Mods.RA
|
||||
public override IOrderGenerator OrderGenerator(string order, SupportPowerManager manager)
|
||||
{
|
||||
Sound.PlayToPlayer(manager.self.Owner, Info.SelectTargetSound);
|
||||
return new SelectTarget(order, manager, this);
|
||||
return new SelectTarget(self.World, order, manager, this);
|
||||
}
|
||||
|
||||
public override void Activate(Actor self, Order order, SupportPowerManager manager)
|
||||
@@ -115,20 +115,20 @@ namespace OpenRA.Mods.RA
|
||||
readonly SupportPowerManager manager;
|
||||
readonly string order;
|
||||
|
||||
public SelectTarget(string order, SupportPowerManager manager, ChronoshiftPower power)
|
||||
public SelectTarget(World world, string order, SupportPowerManager manager, ChronoshiftPower power)
|
||||
{
|
||||
this.manager = manager;
|
||||
this.order = order;
|
||||
this.power = power;
|
||||
this.range = (power.Info as ChronoshiftPowerInfo).Range;
|
||||
tile = SequenceProvider.GetSequence("overlay", "target-select").GetSprite(0);
|
||||
tile = world.Map.SequenceProvider.GetSequence("overlay", "target-select").GetSprite(0);
|
||||
}
|
||||
|
||||
public IEnumerable<Order> Order(World world, CPos xy, MouseInput mi)
|
||||
{
|
||||
world.CancelInputMode();
|
||||
if (mi.Button == MouseButton.Left)
|
||||
world.OrderGenerator = new SelectDestination(order, manager, power, xy);
|
||||
world.OrderGenerator = new SelectDestination(world, order, manager, power, xy);
|
||||
|
||||
yield break;
|
||||
}
|
||||
@@ -173,7 +173,7 @@ namespace OpenRA.Mods.RA
|
||||
readonly SupportPowerManager manager;
|
||||
readonly string order;
|
||||
|
||||
public SelectDestination(string order, SupportPowerManager manager, ChronoshiftPower power, CPos sourceLocation)
|
||||
public SelectDestination(World world, string order, SupportPowerManager manager, ChronoshiftPower power, CPos sourceLocation)
|
||||
{
|
||||
this.manager = manager;
|
||||
this.order = order;
|
||||
@@ -182,9 +182,9 @@ namespace OpenRA.Mods.RA
|
||||
this.range = (power.Info as ChronoshiftPowerInfo).Range;
|
||||
|
||||
var tileset = manager.self.World.TileSet.Id.ToLower();
|
||||
validTile = SequenceProvider.GetSequence("overlay", "target-valid-{0}".F(tileset)).GetSprite(0);
|
||||
invalidTile = SequenceProvider.GetSequence("overlay", "target-invalid").GetSprite(0);
|
||||
sourceTile = SequenceProvider.GetSequence("overlay", "target-select").GetSprite(0);
|
||||
validTile = world.Map.SequenceProvider.GetSequence("overlay", "target-valid-{0}".F(tileset)).GetSprite(0);
|
||||
invalidTile = world.Map.SequenceProvider.GetSequence("overlay", "target-invalid").GetSprite(0);
|
||||
sourceTile = world.Map.SequenceProvider.GetSequence("overlay", "target-select").GetSprite(0);
|
||||
}
|
||||
|
||||
public IEnumerable<Order> Order(World world, CPos xy, MouseInput mi)
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace OpenRA.Mods.RA
|
||||
public override IOrderGenerator OrderGenerator(string order, SupportPowerManager manager)
|
||||
{
|
||||
Sound.PlayToPlayer(manager.self.Owner, Info.SelectTargetSound);
|
||||
return new SelectTarget(order, manager, this);
|
||||
return new SelectTarget(self.World, order, manager, this);
|
||||
}
|
||||
|
||||
public override void Activate(Actor self, Order order, SupportPowerManager manager)
|
||||
@@ -76,13 +76,13 @@ namespace OpenRA.Mods.RA
|
||||
readonly SupportPowerManager manager;
|
||||
readonly string order;
|
||||
|
||||
public SelectTarget(string order, SupportPowerManager manager, IronCurtainPower power)
|
||||
public SelectTarget(World world, string order, SupportPowerManager manager, IronCurtainPower power)
|
||||
{
|
||||
this.manager = manager;
|
||||
this.order = order;
|
||||
this.power = power;
|
||||
this.range = (power.Info as IronCurtainPowerInfo).Range;
|
||||
tile = SequenceProvider.GetSequence("overlay", "target-select").GetSprite(0);
|
||||
tile = world.Map.SequenceProvider.GetSequence("overlay", "target-select").GetSprite(0);
|
||||
}
|
||||
|
||||
public IEnumerable<Order> Order(World world, CPos xy, MouseInput mi)
|
||||
|
||||
4
OpenRA.Mods.RA/SupportPowers/ParatroopersPower.cs
Executable file → Normal file
4
OpenRA.Mods.RA/SupportPowers/ParatroopersPower.cs
Executable file → Normal file
@@ -1,6 +1,6 @@
|
||||
#region Copyright & License Information
|
||||
/*
|
||||
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS)
|
||||
* Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
|
||||
* This file is part of OpenRA, which is free software. It is made
|
||||
* available to you under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation. For more information,
|
||||
@@ -55,7 +55,7 @@ namespace OpenRA.Mods.RA
|
||||
flare.QueueActivity(new RemoveSelf());
|
||||
}
|
||||
|
||||
var altitude = Rules.Info[info.UnitType].Traits.Get<PlaneInfo>().CruiseAltitude;
|
||||
var altitude = self.World.Map.Rules.Actors[info.UnitType].Traits.Get<PlaneInfo>().CruiseAltitude;
|
||||
var a = w.CreateActor(info.UnitType, new TypeDictionary
|
||||
{
|
||||
new CenterPositionInit(startPos.CenterPosition + new WVec(WRange.Zero, WRange.Zero, altitude)),
|
||||
|
||||
4
OpenRA.Mods.RA/SupportPowers/SpyPlanePower.cs
Executable file → Normal file
4
OpenRA.Mods.RA/SupportPowers/SpyPlanePower.cs
Executable file → Normal file
@@ -1,6 +1,6 @@
|
||||
#region Copyright & License Information
|
||||
/*
|
||||
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS)
|
||||
* Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
|
||||
* This file is part of OpenRA, which is free software. It is made
|
||||
* available to you under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation. For more information,
|
||||
@@ -30,7 +30,7 @@ namespace OpenRA.Mods.RA
|
||||
base.Activate(self, order, manager);
|
||||
|
||||
var enterCell = self.World.ChooseRandomEdgeCell();
|
||||
var altitude = Rules.Info["u2"].Traits.Get<PlaneInfo>().CruiseAltitude;
|
||||
var altitude = self.World.Map.Rules.Actors["u2"].Traits.Get<PlaneInfo>().CruiseAltitude;
|
||||
|
||||
var plane = self.World.CreateActor("u2", new TypeDictionary
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user