allow building repair always

This commit is contained in:
Chris Forbes
2011-11-24 15:23:08 +13:00
parent 6040b55d17
commit 45c41b6696
6 changed files with 2 additions and 22 deletions

View File

@@ -118,12 +118,10 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
sellIcon.GetImageName = () => world.OrderGenerator is SellOrderGenerator ? "sell-active" : "sell"; sellIcon.GetImageName = () => world.OrderGenerator is SellOrderGenerator ? "sell-active" : "sell";
var repairButton = sidebarRoot.GetWidget<ToggleButtonWidget>("REPAIR_BUTTON"); var repairButton = sidebarRoot.GetWidget<ToggleButtonWidget>("REPAIR_BUTTON");
repairButton.IsDisabled = () => !RepairOrderGenerator.PlayerIsAllowedToRepair( world );
repairButton.OnClick = () => world.ToggleInputMode<RepairOrderGenerator>(); repairButton.OnClick = () => world.ToggleInputMode<RepairOrderGenerator>();
repairButton.IsToggled = () => world.OrderGenerator is RepairOrderGenerator; repairButton.IsToggled = () => world.OrderGenerator is RepairOrderGenerator;
var repairIcon = repairButton.GetWidget<ImageWidget>("ICON"); var repairIcon = repairButton.GetWidget<ImageWidget>("ICON");
repairIcon.GetImageName = () => repairButton.IsDisabled() ? "repair-disabled" : repairIcon.GetImageName = () => world.OrderGenerator is RepairOrderGenerator ? "repair-active" : "repair";
world.OrderGenerator is RepairOrderGenerator ? "repair-active" : "repair";
var playerResources = world.LocalPlayer.PlayerActor.Trait<PlayerResources>(); var playerResources = world.LocalPlayer.PlayerActor.Trait<PlayerResources>();
sidebarRoot.GetWidget<LabelWidget>("CASH_DISPLAY").GetText = () => sidebarRoot.GetWidget<LabelWidget>("CASH_DISPLAY").GetText = () =>

View File

@@ -95,7 +95,4 @@ namespace OpenRA.Mods.RA.Buildings
--remainingTicks; --remainingTicks;
} }
} }
public class AllowsBuildingRepairInfo : TraitInfo<AllowsBuildingRepair> { }
public class AllowsBuildingRepair { }
} }

View File

@@ -42,18 +42,7 @@ namespace OpenRA.Mods.RA.Orders
} }
} }
public void Tick(World world) public void Tick(World world) { }
{
if (!PlayerIsAllowedToRepair(world))
world.CancelInputMode();
}
public static bool PlayerIsAllowedToRepair(World world)
{
return world.ActorsWithTrait<AllowsBuildingRepair>()
.Any(a => a.Actor.Owner == world.LocalPlayer);
}
public void RenderAfterWorld(WorldRenderer wr, World world) { } public void RenderAfterWorld(WorldRenderer wr, World world) { }
public void RenderBeforeWorld(WorldRenderer wr, World world) { } public void RenderBeforeWorld(WorldRenderer wr, World world) { }

View File

@@ -41,10 +41,8 @@ namespace OpenRA.Mods.RA.Widgets.Logic
var repair = moneybin.GetWidget<OrderButtonWidget>("REPAIR"); var repair = moneybin.GetWidget<OrderButtonWidget>("REPAIR");
if (repair != null) if (repair != null)
{ {
repair.Enabled = () => { return RepairOrderGenerator.PlayerIsAllowedToRepair( world ); };
repair.Pressed = () => world.OrderGenerator is RepairOrderGenerator; repair.Pressed = () => world.OrderGenerator is RepairOrderGenerator;
repair.OnMouseDown = mi => world.ToggleInputMode<RepairOrderGenerator>(); repair.OnMouseDown = mi => world.ToggleInputMode<RepairOrderGenerator>();
repair.GetLongDesc = () => { return repair.Enabled() ? repair.LongDesc : repair.LongDesc + "\n\nRequires: Construction Yard"; };
} }
} }
} }

View File

@@ -16,7 +16,6 @@ FACT:
RevealsShroud: RevealsShroud:
Range: 5 Range: 5
Bib: Bib:
AllowsBuildingRepair:
Production: Production:
Produces: Building,Defense Produces: Building,Defense
Transforms: Transforms:

View File

@@ -626,7 +626,6 @@ FACT:
CustomSellValue: CustomSellValue:
Value: 2500 Value: 2500
BaseBuilding: BaseBuilding:
AllowsBuildingRepair:
Transforms: Transforms:
IntoActor: mcv IntoActor: mcv
Offset:1,1 Offset:1,1