Fix observers

This commit is contained in:
Paul Chote
2011-05-10 18:40:48 +12:00
parent ab28f5867f
commit 7c18614bf3
2 changed files with 76 additions and 75 deletions

View File

@@ -21,19 +21,14 @@ namespace OpenRA.Mods.Cnc.Widgets
{ {
static bool staticSetup; static bool staticSetup;
Widget ingameRoot; Widget ingameRoot;
public static CncIngameChromeLogic GetHandler() static void AddChatLineStub(Color c, string from, string text)
{ {
var panel = Widget.RootWidget.GetWidget("INGAME_ROOT"); var panel = Widget.RootWidget.GetWidget("INGAME_ROOT");
if (panel == null) if (panel == null)
return null; return;
return panel.DelegateObject as CncIngameChromeLogic; var handler = panel.DelegateObject as CncIngameChromeLogic;
}
static void AddChatLineStub(Color c, string from, string text)
{
var handler = GetHandler();
if (handler == null) if (handler == null)
return; return;
@@ -57,8 +52,10 @@ namespace OpenRA.Mods.Cnc.Widgets
Game.AddChatLine += AddChatLineStub; Game.AddChatLine += AddChatLineStub;
} }
ingameRoot.GetWidget<CncMenuButtonWidget>("DIPLOMACY_BUTTON").IsDisabled = () => true; if (world.LocalPlayer != null)
widget.GetWidget("PLAYER_WIDGETS").IsVisible = () => true;
ingameRoot.GetWidget<CncMenuButtonWidget>("DIPLOMACY_BUTTON").IsDisabled = () => true;
ingameRoot.GetWidget<CncMenuButtonWidget>("OPTIONS_BUTTON").OnClick = () => ingameRoot.GetWidget<CncMenuButtonWidget>("OPTIONS_BUTTON").OnClick = () =>
{ {
ingameRoot.IsVisible = () => false; ingameRoot.IsVisible = () => false;

View File

@@ -2,6 +2,75 @@ Container@INGAME_ROOT:
Id:INGAME_ROOT Id:INGAME_ROOT
Delegate:CncIngameChromeLogic Delegate:CncIngameChromeLogic
Children: Children:
Container@PLAYER_WIDGETS:
Id:PLAYER_WIDGETS
Visible:false
Children:
WorldCommand:
Width:WINDOW_RIGHT
Height:WINDOW_BOTTOM
Background@POSTGAME_BG:
Id:POSTGAME_BG
X:(WINDOW_RIGHT - WIDTH)/2
Y:(WINDOW_BOTTOM - HEIGHT)/2
Width:400
Height:100
Background:dialog4
Visible:false
Children:
Label@TEXT:
Id:TEXT
X:(PARENT_RIGHT - WIDTH)/2
Y:(PARENT_BOTTOM - HEIGHT)/2
Width:200
Height:40
Align:Center
Bold:True
SpecialPowerBin@INGAME_POWERS_BIN:
Id:INGAME_POWERS_BIN
Y:25
BuildPalette@INGAME_BUILD_PALETTE:
Id:INGAME_BUILD_PALETTE
X:WINDOW_RIGHT - 250
Y:280
Width:250
Height:500
TabClick: button.aud
BuildPaletteOpen: appear1.aud
BuildPaletteClose: appear1.aud
RadarBin@INGAME_RADAR_BIN:
Id:INGAME_RADAR_BIN
WorldInteractionController:INTERACTION_CONTROLLER
PowerBin@INGAME_POWER_BIN:
Id:INGAME_POWER_BIN
MoneyBin@INGAME_MONEY_BIN:
Id:INGAME_MONEY_BIN
X:WINDOW_RIGHT - WIDTH
Y:0
Width:320
Height: 32
SplitOreAndCash: yes
Children:
OrderButton@SELL:
Id:SELL
Delegate:OrderButtonsChromeDelegate
X:39
Y:0
Width:30
Height:30
Image:sell
Description:Sell
LongDesc:Sell buildings, reclaiming a \nproportion of their build cost
OrderButton@REPAIR:
Id:REPAIR
Delegate:OrderButtonsChromeDelegate
X:75
Y:0
Width:30
Height:30
Image:repair
Description:Repair
LongDesc:Repair damaged buildings
WorldInteractionController: WorldInteractionController:
Id:INTERACTION_CONTROLLER Id:INTERACTION_CONTROLLER
Width:WINDOW_RIGHT Width:WINDOW_RIGHT
@@ -9,9 +78,6 @@ Container@INGAME_ROOT:
ViewportScrollController: ViewportScrollController:
Width:WINDOW_RIGHT Width:WINDOW_RIGHT
Height:WINDOW_BOTTOM Height:WINDOW_BOTTOM
WorldCommand:
Width:WINDOW_RIGHT
Height:WINDOW_BOTTOM
Timer@GAME_TIMER: Timer@GAME_TIMER:
Id:GAME_TIMER Id:GAME_TIMER
X: WINDOW_RIGHT/2 X: WINDOW_RIGHT/2
@@ -20,35 +86,6 @@ Container@INGAME_ROOT:
Id:STRATEGIC_PROGRESS Id:STRATEGIC_PROGRESS
X: WINDOW_RIGHT/2 X: WINDOW_RIGHT/2
Y: 40 Y: 40
Background@POSTGAME_BG:
Id:POSTGAME_BG
X:(WINDOW_RIGHT - WIDTH)/2
Y:(WINDOW_BOTTOM - HEIGHT)/2
Width:400
Height:100
Background:dialog4
Visible:false
Children:
Label@TEXT:
Id:TEXT
X:(PARENT_RIGHT - WIDTH)/2
Y:(PARENT_BOTTOM - HEIGHT)/2
Width:200
Height:40
Align:Center
Bold:True
SpecialPowerBin@INGAME_POWERS_BIN:
Id:INGAME_POWERS_BIN
Y:25
BuildPalette@INGAME_BUILD_PALETTE:
Id:INGAME_BUILD_PALETTE
X:WINDOW_RIGHT - 250
Y:280
Width:250
Height:500
TabClick: button.aud
BuildPaletteOpen: appear1.aud
BuildPaletteClose: appear1.aud
CncMenuButton@OPTIONS_BUTTON: CncMenuButton@OPTIONS_BUTTON:
Id:OPTIONS_BUTTON Id:OPTIONS_BUTTON
X:5 X:5
@@ -74,39 +111,6 @@ Container@INGAME_ROOT:
Text:Developer Mode Text:Developer Mode
Visible:false Visible:false
Bold:True Bold:True
RadarBin@INGAME_RADAR_BIN:
Id:INGAME_RADAR_BIN
WorldInteractionController:INTERACTION_CONTROLLER
PowerBin@INGAME_POWER_BIN:
Id:INGAME_POWER_BIN
MoneyBin@INGAME_MONEY_BIN:
Id:INGAME_MONEY_BIN
X:WINDOW_RIGHT - WIDTH
Y:0
Width:320
Height: 32
SplitOreAndCash: yes
Children:
OrderButton@SELL:
Id:SELL
Delegate:OrderButtonsChromeDelegate
X:39
Y:0
Width:30
Height:30
Image:sell
Description:Sell
LongDesc:Sell buildings, reclaiming a \nproportion of their build cost
OrderButton@REPAIR:
Id:REPAIR
Delegate:OrderButtonsChromeDelegate
X:75
Y:0
Width:30
Height:30
Image:repair
Description:Repair
LongDesc:Repair damaged buildings
WorldTooltip: WorldTooltip:
ChatDisplay@CHAT_DISPLAY: ChatDisplay@CHAT_DISPLAY:
Id:CHAT_DISPLAY Id:CHAT_DISPLAY