diff --git a/OpenRA.Mods.RA/Widgets/Delegates/DeveloperModeDelegate.cs b/OpenRA.Mods.RA/Widgets/Delegates/DeveloperModeDelegate.cs index cf5a889524..44043ca6bd 100644 --- a/OpenRA.Mods.RA/Widgets/Delegates/DeveloperModeDelegate.cs +++ b/OpenRA.Mods.RA/Widgets/Delegates/DeveloperModeDelegate.cs @@ -40,38 +40,40 @@ namespace OpenRA.Mods.RA.Widgets.Delegates }; var devTrait = world.LocalPlayer.PlayerActor.Trait(); - devmodeBG.GetWidget("CHECKBOX_SHROUD").BindReadOnly(devTrait, "DisableShroud"); - devmodeBG.GetWidget("CHECKBOX_SHROUD").OnChange += _ => Order(world, "DevShroud"); - - devmodeBG.GetWidget("CHECKBOX_PATHDEBUG").BindReadOnly(devTrait, "PathDebug"); - devmodeBG.GetWidget("CHECKBOX_PATHDEBUG").OnChange += _ => Order(world, "DevPathDebug"); + + var shroudCheckbox = devmodeBG.GetWidget("CHECKBOX_SHROUD"); + shroudCheckbox.IsChecked = () => devTrait.DisableShroud; + shroudCheckbox.OnClick = () => Order(world, "DevShroud"); + + var pathCheckbox = devmodeBG.GetWidget("CHECKBOX_PATHDEBUG"); + pathCheckbox.IsChecked = () => devTrait.PathDebug; + pathCheckbox.OnClick = () => Order(world, "DevPathDebug"); + + var fastBuildCheckbox = devmodeBG.GetWidget("INSTANT_BUILD"); + fastBuildCheckbox.IsChecked = () => devTrait.FastBuild; + fastBuildCheckbox.OnClick = () => Order(world, "DevFastBuild"); + + var fastChargeCheckbox = devmodeBG.GetWidget("INSTANT_CHARGE"); + fastChargeCheckbox.IsChecked = () => devTrait.FastCharge; + fastChargeCheckbox.OnClick = () => Order(world, "DevFastCharge"); - devmodeBG.GetWidget("GIVE_CASH").OnMouseUp = mi => - { + var allTechCheckbox = devmodeBG.GetWidget("ENABLE_TECH"); + allTechCheckbox.IsChecked = () => devTrait.AllTech; + allTechCheckbox.OnClick = () => Order(world, "DevEnableTech"); + + var powerCheckbox = devmodeBG.GetWidget("UNLIMITED_POWER"); + powerCheckbox.IsChecked = () => devTrait.UnlimitedPower; + powerCheckbox.OnClick = () => Order(world, "DevUnlimitedPower"); + + var buildAnywhereCheckbox = devmodeBG.GetWidget("BUILD_ANYWHERE"); + buildAnywhereCheckbox.IsChecked = () => devTrait.BuildAnywhere; + buildAnywhereCheckbox.OnClick = () => Order(world, "DevBuildAnywhere"); + + devmodeBG.GetWidget("GIVE_CASH").OnClick = () => world.IssueOrder(new Order("DevGiveCash", world.LocalPlayer.PlayerActor, false)); - return true; - }; - devmodeBG.GetWidget("INSTANT_BUILD").BindReadOnly(devTrait, "FastBuild"); - devmodeBG.GetWidget("INSTANT_BUILD").OnChange += _ => Order(world, "DevFastBuild"); - - devmodeBG.GetWidget("INSTANT_CHARGE").BindReadOnly(devTrait, "FastCharge"); - devmodeBG.GetWidget("INSTANT_CHARGE").OnChange += _ => Order(world, "DevFastCharge"); - - devmodeBG.GetWidget("ENABLE_TECH").BindReadOnly(devTrait, "AllTech"); - devmodeBG.GetWidget("ENABLE_TECH").OnChange += _ => Order(world, "DevEnableTech"); - - devmodeBG.GetWidget("UNLIMITED_POWER").BindReadOnly(devTrait, "UnlimitedPower"); - devmodeBG.GetWidget("UNLIMITED_POWER").OnChange += _ => Order(world, "DevUnlimitedPower"); - - devmodeBG.GetWidget("BUILD_ANYWHERE").BindReadOnly(devTrait, "BuildAnywhere"); - devmodeBG.GetWidget("BUILD_ANYWHERE").OnChange += _ => Order(world, "DevBuildAnywhere"); - - devmodeBG.GetWidget("GIVE_EXPLORATION").OnMouseUp = mi => - { + devmodeBG.GetWidget("GIVE_EXPLORATION").OnClick = () => world.IssueOrder(new Order("DevGiveExploration", world.LocalPlayer.PlayerActor, false)); - return true; - }; devModeButton.IsVisible = () => { return world.LobbyInfo.GlobalSettings.AllowCheats; }; }