pruning refs to Game.world
This commit is contained in:
@@ -45,7 +45,9 @@ namespace OpenRA.Traits
|
||||
public bool IsUsed;
|
||||
public bool IsAvailable;
|
||||
public bool IsReady { get { return IsAvailable && RemainingTime == 0; } }
|
||||
public readonly Player Owner;
|
||||
|
||||
protected readonly Actor Self;
|
||||
protected readonly Player Owner;
|
||||
|
||||
bool notifiedCharging;
|
||||
bool notifiedReady;
|
||||
@@ -54,6 +56,7 @@ namespace OpenRA.Traits
|
||||
{
|
||||
Info = info;
|
||||
RemainingTime = TotalTime;
|
||||
Self = self;
|
||||
Owner = self.Owner;
|
||||
|
||||
self.Trait<TechTreeCache>().Add( Info.Prerequisites.Select( a => Rules.Info[ a.ToLowerInvariant() ] ).ToList(), this );
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace OpenRA.Mods.Cnc
|
||||
|
||||
protected override void OnActivate()
|
||||
{
|
||||
Game.world.OrderGenerator =
|
||||
Self.World.OrderGenerator =
|
||||
new GenericSelectTargetWithBuilding<IonControl>(Owner.PlayerActor, "IonCannon", "ability");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,8 +35,8 @@ namespace OpenRA.Mods.RA.Effects
|
||||
|
||||
if (silo == null)
|
||||
{
|
||||
altitude = Game.world.Map.Height*Game.CellSize;
|
||||
StartDescent(Game.world);
|
||||
altitude = silo.World.Map.Height*Game.CellSize;
|
||||
StartDescent(silo.World);
|
||||
}
|
||||
else
|
||||
pos = silo.CenterLocation + spawnOffset;
|
||||
@@ -65,7 +65,7 @@ namespace OpenRA.Mods.RA.Effects
|
||||
if (altitude <= 0)
|
||||
{
|
||||
// Trigger screen desaturate effect
|
||||
foreach (var a in Game.world.Queries.WithTrait<NukePaletteEffect>())
|
||||
foreach (var a in world.Queries.WithTrait<NukePaletteEffect>())
|
||||
a.Trait.Enable();
|
||||
|
||||
Explode(world);
|
||||
|
||||
@@ -89,7 +89,7 @@ namespace OpenRA.Mods.RA
|
||||
foreach (var r in rs)
|
||||
yield return r;
|
||||
|
||||
if (self.Owner == Game.world.LocalPlayer && Level > 0)
|
||||
if (self.Owner == self.World.LocalPlayer && Level > 0)
|
||||
{
|
||||
RankAnim.Tick(); // hack
|
||||
var bounds = self.GetBounds(true);
|
||||
|
||||
@@ -127,7 +127,7 @@ namespace OpenRA.Mods.RA
|
||||
var minefield = GetMinefieldCells(ml.minefieldStart, lastMousePos, minelayer.Info.Traits.Get<MinelayerInfo>().MinefieldDepth)
|
||||
.Where(p => movement.CanEnterCell(p)).ToArray();
|
||||
|
||||
Game.world.WorldRenderer.DrawLocus(Color.Cyan, minefield);
|
||||
world.WorldRenderer.DrawLocus(Color.Cyan, minefield);
|
||||
}
|
||||
|
||||
public void RenderBeforeWorld(World world) { }
|
||||
@@ -141,7 +141,7 @@ namespace OpenRA.Mods.RA
|
||||
return;
|
||||
|
||||
if (minefield != null)
|
||||
Game.world.WorldRenderer.DrawLocus(Color.Cyan, minefield);
|
||||
self.World.WorldRenderer.DrawLocus(Color.Cyan, minefield);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace OpenRA.Mods.RA.Orders
|
||||
|
||||
public static bool PlayerIsAllowedToRepair( World world )
|
||||
{
|
||||
return Game.world.Queries.OwnedBy[ Game.world.LocalPlayer ].WithTrait<AllowsBuildingRepair>().Any();
|
||||
return world.Queries.OwnedBy[ world.LocalPlayer ].WithTrait<AllowsBuildingRepair>().Any();
|
||||
}
|
||||
|
||||
public void RenderAfterWorld( World world ) {}
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
protected override void OnActivate()
|
||||
{
|
||||
Game.world.OrderGenerator = new GenericSelectTarget(Owner.PlayerActor, Info.OrderName, "ability");
|
||||
Self.World.OrderGenerator = new GenericSelectTarget(Owner.PlayerActor, Info.OrderName, "ability");
|
||||
}
|
||||
|
||||
public void ResolveOrder(Actor self, Order order)
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace OpenRA.Mods.RA
|
||||
class ChronoshiftPower : SupportPower, IResolveOrder
|
||||
{
|
||||
public ChronoshiftPower(Actor self, ChronoshiftPowerInfo info) : base(self, info) { }
|
||||
protected override void OnActivate() { Game.world.OrderGenerator = new SelectTarget(); }
|
||||
protected override void OnActivate() { Self.World.OrderGenerator = new SelectTarget(); }
|
||||
|
||||
public void ResolveOrder(Actor self, Order order)
|
||||
{
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace OpenRA.Mods.RA
|
||||
protected override void OnFinishCharging() { Sound.PlayToPlayer(Owner, "ironrdy1.aud"); }
|
||||
protected override void OnActivate()
|
||||
{
|
||||
Game.world.OrderGenerator = new SelectTarget();
|
||||
Self.World.OrderGenerator = new SelectTarget();
|
||||
Sound.Play("slcttgt1.aud");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
protected override void OnActivate()
|
||||
{
|
||||
Game.world.OrderGenerator =
|
||||
Self.World.OrderGenerator =
|
||||
new GenericSelectTargetWithBuilding<NukeSilo>(Owner.PlayerActor, "NuclearMissile", "nuke");
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
protected override void OnActivate()
|
||||
{
|
||||
Game.world.OrderGenerator =
|
||||
Self.World.OrderGenerator =
|
||||
new GenericSelectTarget( Owner.PlayerActor, "ParatroopersActivate", "ability" );
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace OpenRA.Mods.RA
|
||||
protected override void OnFinishCharging() { Sound.PlayToPlayer(Owner, "spypln1.aud"); }
|
||||
protected override void OnActivate()
|
||||
{
|
||||
Game.world.OrderGenerator = new GenericSelectTarget(Owner.PlayerActor, "SpyPlane", "ability");
|
||||
Self.World.OrderGenerator = new GenericSelectTarget(Owner.PlayerActor, "SpyPlane", "ability");
|
||||
Sound.Play("slcttgt1.aud");
|
||||
}
|
||||
|
||||
|
||||
@@ -14,13 +14,23 @@ using OpenRA.Widgets;
|
||||
|
||||
namespace OpenRA.Mods.RA.Widgets
|
||||
{
|
||||
class ChoosePaletteOnSelectInfo : TraitInfo<ChoosePaletteOnSelect> { }
|
||||
class ChoosePaletteOnSelectInfo : ITraitInfo
|
||||
{
|
||||
public object Create( ActorInitializer init ) { return new ChoosePaletteOnSelect( init ); }
|
||||
}
|
||||
|
||||
class ChoosePaletteOnSelect : INotifySelection
|
||||
{
|
||||
readonly World world;
|
||||
|
||||
public ChoosePaletteOnSelect( ActorInitializer init )
|
||||
{
|
||||
world = init.world;
|
||||
}
|
||||
|
||||
public void SelectionChanged()
|
||||
{
|
||||
var firstItem = Game.world.Selection.Actors.FirstOrDefault(
|
||||
var firstItem = world.Selection.Actors.FirstOrDefault(
|
||||
a => a.World.LocalPlayer == a.Owner && a.HasTrait<Production>());
|
||||
|
||||
if (firstItem == null)
|
||||
|
||||
Reference in New Issue
Block a user