remove many references to Game.world

This commit is contained in:
Bob
2010-10-11 02:44:16 +13:00
parent f8776d773d
commit 6a25d989a7
10 changed files with 88 additions and 63 deletions

View File

@@ -23,14 +23,15 @@ using OpenRA;
using OpenRA.Traits;
using OpenRA.Widgets;
namespace OpenRA.Widgets.Delegates
{
public class DeveloperModeDelegate : IWidgetDelegate
{
public DeveloperModeDelegate ()
{
readonly World world;
[ObjectCreator.UseCtor]
public DeveloperModeDelegate( [ObjectCreator.Param("world")] World world )
{
this.world = world;
var devmodeBG = Widget.RootWidget.GetWidget("INGAME_ROOT").GetWidget("DEVELOPERMODE_BG");
var devModeButton = Widget.RootWidget.GetWidget<ButtonWidget>("INGAME_DEVELOPERMODE_BUTTON");
@@ -41,10 +42,10 @@ namespace OpenRA.Widgets.Delegates
};
devmodeBG.GetWidget<CheckboxWidget>("CHECKBOX_SHROUD").Checked =
() => Game.world.LocalPlayer.PlayerActor.Trait<DeveloperMode>().DisableShroud;
() => world.LocalPlayer.PlayerActor.Trait<DeveloperMode>().DisableShroud;
devmodeBG.GetWidget<CheckboxWidget>("CHECKBOX_SHROUD").OnMouseDown = mi =>
{
Game.IssueOrder(new Order("DevShroud", Game.world.LocalPlayer.PlayerActor));
Game.IssueOrder(new Order("DevShroud", world.LocalPlayer.PlayerActor));
return true;
};
@@ -52,51 +53,51 @@ namespace OpenRA.Widgets.Delegates
() => Game.Settings.Debug.ShowCollisions;
devmodeBG.GetWidget("CHECKBOX_UNITDEBUG").OnMouseDown = mi =>
{
Game.IssueOrder(new Order("DevUnitDebug", Game.world.LocalPlayer.PlayerActor));
Game.IssueOrder(new Order("DevUnitDebug", world.LocalPlayer.PlayerActor));
return true;
};
devmodeBG.GetWidget<CheckboxWidget>("CHECKBOX_PATHDEBUG").Checked =
() => Game.world.LocalPlayer.PlayerActor.Trait<DeveloperMode>().PathDebug;
() => world.LocalPlayer.PlayerActor.Trait<DeveloperMode>().PathDebug;
devmodeBG.GetWidget("CHECKBOX_PATHDEBUG").OnMouseDown = mi =>
{
Game.IssueOrder(new Order("DevPathDebug", Game.world.LocalPlayer.PlayerActor));
Game.IssueOrder(new Order("DevPathDebug", world.LocalPlayer.PlayerActor));
return true;
};
devmodeBG.GetWidget<ButtonWidget>("GIVE_CASH").OnMouseUp = mi =>
{
Game.IssueOrder(new Order("DevGiveCash", Game.world.LocalPlayer.PlayerActor));
Game.IssueOrder(new Order("DevGiveCash", world.LocalPlayer.PlayerActor));
return true;
};
devmodeBG.GetWidget<CheckboxWidget>("INSTANT_BUILD").Checked =
() => Game.world.LocalPlayer.PlayerActor.Trait<DeveloperMode>().FastBuild;
() => world.LocalPlayer.PlayerActor.Trait<DeveloperMode>().FastBuild;
devmodeBG.GetWidget<CheckboxWidget>("INSTANT_BUILD").OnMouseDown = mi =>
{
Game.IssueOrder(new Order("DevFastBuild", Game.world.LocalPlayer.PlayerActor));
Game.IssueOrder(new Order("DevFastBuild", world.LocalPlayer.PlayerActor));
return true;
};
devmodeBG.GetWidget<CheckboxWidget>("INSTANT_CHARGE").Checked =
() => Game.world.LocalPlayer.PlayerActor.Trait<DeveloperMode>().FastCharge;
() => world.LocalPlayer.PlayerActor.Trait<DeveloperMode>().FastCharge;
devmodeBG.GetWidget<CheckboxWidget>("INSTANT_CHARGE").OnMouseDown = mi =>
{
Game.IssueOrder(new Order("DevFastCharge", Game.world.LocalPlayer.PlayerActor));
Game.IssueOrder(new Order("DevFastCharge", world.LocalPlayer.PlayerActor));
return true;
};
devmodeBG.GetWidget<CheckboxWidget>("ENABLE_TECH").Checked =
() => Game.world.LocalPlayer.PlayerActor.Trait<DeveloperMode>().AllTech;
() => world.LocalPlayer.PlayerActor.Trait<DeveloperMode>().AllTech;
devmodeBG.GetWidget<CheckboxWidget>("ENABLE_TECH").OnMouseDown = mi =>
{
Game.IssueOrder(new Order("DevEnableTech", Game.world.LocalPlayer.PlayerActor));
Game.IssueOrder(new Order("DevEnableTech", world.LocalPlayer.PlayerActor));
return true;
};
devmodeBG.GetWidget<ButtonWidget>("GIVE_EXPLORATION").OnMouseUp = mi =>
{
Game.IssueOrder(new Order("DevGiveExploration", Game.world.LocalPlayer.PlayerActor));
Game.IssueOrder(new Order("DevGiveExploration", world.LocalPlayer.PlayerActor));
return true;
};

View File

@@ -21,8 +21,11 @@ namespace OpenRA.Widgets.Delegates
static List<Widget> controls = new List<Widget>();
int validPlayers = 0;
public DiplomacyDelegate()
readonly World world;
[ObjectCreator.UseCtor]
public DiplomacyDelegate( [ObjectCreator.Param("world")] World world )
{
this.world = world;
var root = Widget.RootWidget.GetWidget("INGAME_ROOT");
var diplomacyBG = root.GetWidget("DIPLOMACY_BG");
var diplomacy = root.GetWidget("INGAME_DIPLOMACY_BUTTON");
@@ -34,7 +37,7 @@ namespace OpenRA.Widgets.Delegates
return true;
};
Game.AfterGameStart += () => validPlayers = Game.world.players.Values.Where(a => a != Game.world.LocalPlayer && !a.NonCombatant).Count();
Game.AfterGameStart += _ => validPlayers = world.players.Values.Where(a => a != world.LocalPlayer && !a.NonCombatant).Count();
diplomacy.IsVisible = () => (validPlayers > 0);
}
@@ -71,7 +74,7 @@ namespace OpenRA.Widgets.Delegates
y += 35;
foreach (var p in Game.world.players.Values.Where(a => a != Game.world.LocalPlayer && !a.NonCombatant))
foreach (var p in world.players.Values.Where(a => a != world.LocalPlayer && !a.NonCombatant))
{
var pp = p;
var label = new LabelWidget
@@ -94,7 +97,7 @@ namespace OpenRA.Widgets.Delegates
Align = LabelWidget.TextAlign.Left,
Bold = false,
GetText = () => pp.Stances[ Game.world.LocalPlayer ].ToString(),
GetText = () => pp.Stances[ world.LocalPlayer ].ToString(),
};
bg.AddChild(theirStance);
@@ -104,7 +107,7 @@ namespace OpenRA.Widgets.Delegates
{
Bounds = new Rectangle( margin + 2 * labelWidth + 20, y, labelWidth, 25),
Id = "DIPLOMACY_PLAYER_LABEL_MY_{0}".F(p.Index),
Text = Game.world.LocalPlayer.Stances[ pp ].ToString(),
Text = world.LocalPlayer.Stances[ pp ].ToString(),
};
myStance.OnMouseUp = mi => { CycleStance(pp, myStance); return true; };
@@ -135,7 +138,7 @@ namespace OpenRA.Widgets.Delegates
var nextStance = GetNextStance((Stance)Enum.Parse(typeof(Stance), bw.Text));
Game.IssueOrder(new Order("SetStance", Game.world.LocalPlayer.PlayerActor,
Game.IssueOrder(new Order("SetStance", world.LocalPlayer.PlayerActor,
new int2(p.Index, (int)nextStance)));
bw.Text = nextStance.ToString();