Kill Controller
This commit is contained in:
@@ -40,7 +40,7 @@ namespace OpenRA.Mods.RA.Activities
|
||||
|
||||
self.World.AddFrameEndTask(w =>
|
||||
{
|
||||
var selected = Game.controller.selection.Contains(self);
|
||||
var selected = w.Selection.Contains(self);
|
||||
|
||||
self.World.Remove(self);
|
||||
foreach (var s in sounds)
|
||||
@@ -50,7 +50,7 @@ namespace OpenRA.Mods.RA.Activities
|
||||
a.Health = GetHealthToTransfer(self, a, transferPercentage);
|
||||
|
||||
if (selected)
|
||||
Game.controller.selection.Add(w, a);
|
||||
w.Selection.Add(w, a);
|
||||
});
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace OpenRA.Mods.RA.Activities
|
||||
|
||||
void DoUndeploy(World w, Actor self)
|
||||
{
|
||||
var selected = Game.controller.selection.Contains(self);
|
||||
var selected = w.Selection.Contains(self);
|
||||
w.Remove(self);
|
||||
|
||||
var mcv = w.CreateActor("mcv", self.Location + new int2(1, 1), self.Owner);
|
||||
@@ -28,7 +28,7 @@ namespace OpenRA.Mods.RA.Activities
|
||||
mcv.traits.Get<Unit>().Facing = 96;
|
||||
|
||||
if (selected)
|
||||
Game.controller.selection.Add(w, mcv);
|
||||
w.Selection.Add(w, mcv);
|
||||
}
|
||||
|
||||
public IActivity Tick(Actor self)
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace OpenRA.Mods.RA
|
||||
if (order.OrderString == "ChronoshiftDeploy")
|
||||
{
|
||||
if (self.Owner == self.World.LocalPlayer)
|
||||
Game.controller.orderGenerator = new SetChronoTankDestination(self);
|
||||
self.World.OrderGenerator = new SetChronoTankDestination(self);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
if (self.Owner == self.World.LocalPlayer)
|
||||
{
|
||||
Game.controller.CancelInputMode();
|
||||
self.World.CancelInputMode();
|
||||
self.World.AddFrameEndTask(w => w.Add(new MoveFlash(self.World, order.TargetLocation)));
|
||||
}
|
||||
|
||||
|
||||
@@ -51,13 +51,13 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
minefieldStart = order.TargetLocation;
|
||||
if (self.Owner == self.World.LocalPlayer)
|
||||
Game.controller.orderGenerator = new MinefieldOrderGenerator(self);
|
||||
self.World.OrderGenerator = new MinefieldOrderGenerator(self);
|
||||
}
|
||||
|
||||
if (order.OrderString == "PlaceMinefield")
|
||||
{
|
||||
if (self.Owner == self.World.LocalPlayer)
|
||||
Game.controller.CancelInputMode();
|
||||
self.World.CancelInputMode();
|
||||
|
||||
var movement = self.traits.Get<IMove>();
|
||||
|
||||
@@ -100,7 +100,7 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
if (mi.Button == MouseButton.Left)
|
||||
{
|
||||
Game.controller.CancelInputMode();
|
||||
world.CancelInputMode();
|
||||
yield break;
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ namespace OpenRA.Mods.RA
|
||||
public void Tick(World world)
|
||||
{
|
||||
if (minelayer.IsDead || !minelayer.IsInWorld)
|
||||
Game.controller.CancelInputMode();
|
||||
world.CancelInputMode();
|
||||
}
|
||||
|
||||
int2 lastMousePos;
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace OpenRA.Mods.RA.Orders
|
||||
public IEnumerable<Order> Order(World world, int2 xy, MouseInput mi)
|
||||
{
|
||||
if (mi.Button == MouseButton.Right)
|
||||
Game.controller.CancelInputMode();
|
||||
world.CancelInputMode();
|
||||
|
||||
return OrderInner(world, xy, mi);
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace OpenRA.Mods.RA.Orders
|
||||
public IEnumerable<Order> Order(World world, int2 xy, MouseInput mi)
|
||||
{
|
||||
if (mi.Button == MouseButton.Right)
|
||||
Game.controller.CancelInputMode();
|
||||
world.CancelInputMode();
|
||||
|
||||
return OrderInner(world, xy, mi);
|
||||
}
|
||||
@@ -43,7 +43,7 @@ namespace OpenRA.Mods.RA.Orders
|
||||
public void Tick( World world )
|
||||
{
|
||||
if( !PlayerIsAllowedToRepair( world ) )
|
||||
Game.controller.CancelInputMode();
|
||||
world.CancelInputMode();
|
||||
}
|
||||
|
||||
public static bool PlayerIsAllowedToRepair( World world )
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace OpenRA.Mods.RA.Orders
|
||||
public IEnumerable<Order> Order(World world, int2 xy, MouseInput mi)
|
||||
{
|
||||
if (mi.Button == MouseButton.Right)
|
||||
Game.controller.CancelInputMode();
|
||||
world.CancelInputMode();
|
||||
|
||||
return OrderInner(world, xy, mi);
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace OpenRA.Mods.RA.Orders
|
||||
{
|
||||
if (mi.Button == MouseButton.Left)
|
||||
{
|
||||
Game.controller.CancelInputMode();
|
||||
world.CancelInputMode();
|
||||
yield break;
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
protected override void OnActivate()
|
||||
{
|
||||
Game.controller.orderGenerator = new GenericSelectTarget(Owner.PlayerActor, Info.OrderName, "ability");
|
||||
Game.world.OrderGenerator = new GenericSelectTarget(Owner.PlayerActor, Info.OrderName, "ability");
|
||||
}
|
||||
|
||||
public void ResolveOrder(Actor self, Order order)
|
||||
@@ -63,7 +63,7 @@ namespace OpenRA.Mods.RA
|
||||
});
|
||||
|
||||
if (Owner == Owner.World.LocalPlayer)
|
||||
Game.controller.CancelInputMode();
|
||||
self.World.CancelInputMode();
|
||||
|
||||
FinishActivate();
|
||||
}
|
||||
|
||||
@@ -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.controller.orderGenerator = new SelectTarget(); }
|
||||
protected override void OnActivate() { Game.world.OrderGenerator = new SelectTarget(); }
|
||||
|
||||
public void ResolveOrder(Actor self, Order order)
|
||||
{
|
||||
@@ -32,13 +32,13 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
if (order.OrderString == "ChronosphereSelect" && self.Owner == self.World.LocalPlayer)
|
||||
{
|
||||
Game.controller.orderGenerator = new SelectDestination(order.TargetActor);
|
||||
self.World.OrderGenerator = new SelectDestination(order.TargetActor);
|
||||
}
|
||||
|
||||
if (order.OrderString == "ChronosphereActivate")
|
||||
{
|
||||
if (self.Owner == self.World.LocalPlayer)
|
||||
Game.controller.CancelInputMode();
|
||||
self.World.CancelInputMode();
|
||||
|
||||
// Ensure the target cell is valid for the unit
|
||||
var movement = order.TargetActor.traits.GetOrDefault<IMove>();
|
||||
@@ -61,7 +61,7 @@ namespace OpenRA.Mods.RA
|
||||
public IEnumerable<Order> Order(World world, int2 xy, MouseInput mi)
|
||||
{
|
||||
if (mi.Button == MouseButton.Right)
|
||||
Game.controller.CancelInputMode();
|
||||
world.CancelInputMode();
|
||||
|
||||
return OrderInner(world, xy, mi);
|
||||
}
|
||||
@@ -88,7 +88,7 @@ namespace OpenRA.Mods.RA
|
||||
.Any();
|
||||
|
||||
if (!hasChronosphere)
|
||||
Game.controller.CancelInputMode();
|
||||
world.CancelInputMode();
|
||||
|
||||
// TODO: Check if the selected unit is still alive
|
||||
}
|
||||
@@ -113,7 +113,7 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
if (mi.Button == MouseButton.Right)
|
||||
{
|
||||
Game.controller.CancelInputMode();
|
||||
world.CancelInputMode();
|
||||
yield break;
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ namespace OpenRA.Mods.RA
|
||||
.Any();
|
||||
|
||||
if (!hasChronosphere)
|
||||
Game.controller.CancelInputMode();
|
||||
world.CancelInputMode();
|
||||
|
||||
// TODO: Check if the selected unit is still alive
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace OpenRA.Mods.RA
|
||||
protected override void OnFinishCharging() { Sound.PlayToPlayer(Owner, "ironrdy1.aud"); }
|
||||
protected override void OnActivate()
|
||||
{
|
||||
Game.controller.orderGenerator = new SelectTarget();
|
||||
Game.world.OrderGenerator = new SelectTarget();
|
||||
Sound.Play("slcttgt1.aud");
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace OpenRA.Mods.RA
|
||||
if (order.OrderString == "IronCurtain")
|
||||
{
|
||||
if (self.Owner == self.World.LocalPlayer)
|
||||
Game.controller.CancelInputMode();
|
||||
self.World.CancelInputMode();
|
||||
|
||||
var curtain = self.World.Queries.WithTrait<IronCurtain>()
|
||||
.Where(a => a.Actor.Owner != null)
|
||||
@@ -64,7 +64,7 @@ namespace OpenRA.Mods.RA
|
||||
public IEnumerable<Order> Order(World world, int2 xy, MouseInput mi)
|
||||
{
|
||||
if (mi.Button == MouseButton.Right)
|
||||
Game.controller.CancelInputMode();
|
||||
world.CancelInputMode();
|
||||
|
||||
return OrderInner(world, xy, mi);
|
||||
}
|
||||
@@ -92,7 +92,7 @@ namespace OpenRA.Mods.RA
|
||||
.Any();
|
||||
|
||||
if (!hasStructure)
|
||||
Game.controller.CancelInputMode();
|
||||
world.CancelInputMode();
|
||||
}
|
||||
|
||||
public void RenderAfterWorld(World world) { }
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
protected override void OnActivate()
|
||||
{
|
||||
Game.controller.orderGenerator =
|
||||
Game.world.OrderGenerator =
|
||||
new GenericSelectTargetWithBuilding<NukeSilo>(Owner.PlayerActor, "NuclearMissile", "nuke");
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
silo.traits.Get<NukeSilo>().Attack(order.TargetLocation);
|
||||
|
||||
Game.controller.CancelInputMode();
|
||||
self.World.CancelInputMode();
|
||||
FinishActivate();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
protected override void OnActivate()
|
||||
{
|
||||
Game.controller.orderGenerator =
|
||||
Game.world.OrderGenerator =
|
||||
new GenericSelectTarget( Owner.PlayerActor, "ParatroopersActivate", "ability" );
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace OpenRA.Mods.RA
|
||||
if (order.OrderString == "ParatroopersActivate")
|
||||
{
|
||||
if (self.Owner == self.World.LocalPlayer)
|
||||
Game.controller.CancelInputMode();
|
||||
self.World.CancelInputMode();
|
||||
|
||||
DoParadrop(Owner, order.TargetLocation,
|
||||
self.Info.Traits.Get<ParatroopersPowerInfo>().DropItems);
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace OpenRA.Mods.RA
|
||||
protected override void OnFinishCharging() { Sound.PlayToPlayer(Owner, "spypln1.aud"); }
|
||||
protected override void OnActivate()
|
||||
{
|
||||
Game.controller.orderGenerator = new GenericSelectTarget(Owner.PlayerActor, "SpyPlane", "ability");
|
||||
Game.world.OrderGenerator = new GenericSelectTarget(Owner.PlayerActor, "SpyPlane", "ability");
|
||||
Sound.Play("slcttgt1.aud");
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace OpenRA.Mods.RA
|
||||
FinishActivate();
|
||||
|
||||
if (order.Player == Owner.World.LocalPlayer)
|
||||
Game.controller.CancelInputMode();
|
||||
self.World.CancelInputMode();
|
||||
|
||||
var enterCell = self.World.ChooseRandomEdgeCell();
|
||||
|
||||
|
||||
@@ -26,23 +26,23 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
|
||||
var sell = moneybin.GetWidget<OrderButtonWidget>("SELL");
|
||||
if (sell != null)
|
||||
{
|
||||
sell.Pressed = () => Game.controller.orderGenerator is SellOrderGenerator;
|
||||
sell.OnMouseDown = mi => { Game.controller.ToggleInputMode<SellOrderGenerator>(); return true; };
|
||||
sell.Pressed = () => Game.world.OrderGenerator is SellOrderGenerator;
|
||||
sell.OnMouseDown = mi => { Game.world.ToggleInputMode<SellOrderGenerator>(); return true; };
|
||||
}
|
||||
|
||||
var powerdown = moneybin.GetWidget<OrderButtonWidget>("POWER_DOWN");
|
||||
if (powerdown != null)
|
||||
{
|
||||
powerdown.Pressed = () => Game.controller.orderGenerator is PowerDownOrderGenerator;
|
||||
powerdown.OnMouseDown = mi => { Game.controller.ToggleInputMode<PowerDownOrderGenerator>(); return true; };
|
||||
powerdown.Pressed = () => Game.world.OrderGenerator is PowerDownOrderGenerator;
|
||||
powerdown.OnMouseDown = mi => { Game.world.ToggleInputMode<PowerDownOrderGenerator>(); return true; };
|
||||
}
|
||||
|
||||
var repair = moneybin.GetWidget<OrderButtonWidget>("REPAIR");
|
||||
if (repair != null)
|
||||
{
|
||||
repair.Enabled = () => { return RepairOrderGenerator.PlayerIsAllowedToRepair( Game.world ); };
|
||||
repair.Pressed = () => Game.controller.orderGenerator is RepairOrderGenerator;
|
||||
repair.OnMouseDown = mi => { Game.controller.ToggleInputMode<RepairOrderGenerator>(); return true; };
|
||||
repair.Pressed = () => Game.world.OrderGenerator is RepairOrderGenerator;
|
||||
repair.OnMouseDown = mi => { Game.world.ToggleInputMode<RepairOrderGenerator>(); return true; };
|
||||
repair.GetLongDesc = () => { return repair.Enabled() ? repair.LongDesc : repair.LongDesc + "\n\nRequires: Construction Yard"; };
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user