Core: Added basic support for Spectators

TODO: Someone modify the files for cnc (chrome / rules)
This commit is contained in:
geckosoft
2010-10-31 03:57:03 +01:00
parent b9c40ad3ce
commit 030bd4b28d
18 changed files with 418 additions and 186 deletions

View File

@@ -71,6 +71,8 @@ Player:
World:
OpenWidgetAtGameStart:
Widget: INGAME_ROOT
# ObserverWidget:
ScreenShaker:
NukePaletteEffect:
WaterPaletteRotation:

View File

@@ -193,6 +193,7 @@
<image name="allies" x="30" y="84" width="30" height="15" />
<image name="soviet" x="0" y="84" width="30" height="15" />
<image name="random" x="60" y="84" width="30" height="15" />
<image name="spectator" x="60" y="84" width="30" height="15" />
</collection>
<collection name="music" src="musicplayer.png">
<image name="pause" x="0" y="0" width="25" height="25" />

View File

@@ -29,175 +29,204 @@ Background@SERVER_LOBBY:
Y:4
Width:244
Height:244
Container@PLAYERS:
Id:PLAYERS
ListBox@PLAYERSX:
Id:PLAYERSX
X:20
Y:75
Width:500
Height:200
Height:227
Children:
Container@TEMPLATE_LOCAL:
Id:TEMPLATE_LOCAL
X:0
Y:0
Container@PLAYERS:
Id:PLAYERS
X:2
Y:1
Width:500
Height:30
Visible:false
Height:2270
Children:
TextField@NAME:
Id:NAME
Text:Name
Width:139
Height:25
Container@TEMPLATE_LOCAL:
Id:TEMPLATE_LOCAL
X:0
Y:0
MaxLength:16
Button@COLOR:
Id:COLOR
Width:65
Height:25
X:159
Y:0
Width:400
Height:30
Visible:false
Children:
ColorBlock@COLORBLOCK:
Id:COLORBLOCK
X:5
TextField@NAME:
Id:NAME
Text:Name
Width:139
Height:25
X:0
Y:0
MaxLength:16
Button@COLOR:
Id:COLOR
Width:65
Height:25
X:159
Y:0
Children:
ColorBlock@COLORBLOCK:
Id:COLORBLOCK
X:5
Y:7
Width:PARENT_RIGHT-10
Height:PARENT_BOTTOM-12
Button@FACTION:
Id:FACTION
Width:110
Height:25
X:244
Y:0
Children:
Image@FACTIONFLAG:
Id:FACTIONFLAG
Width:30
Height:15
X:5
Y:5
Label@FACTIONNAME:
Id:FACTIONNAME
Text:Faction
Width:60
Height:25
X:40
Y:0
Button@TEAM:
Id:TEAM
Text:Team
Width:25
Height:25
X:374
Y:0
Checkbox@STATUS:
Id:STATUS
X:450
Y:2
Width:20
Height:20
Container@TEMPLATE_REMOTE:
Id:TEMPLATE_REMOTE
X:0
Y:0
Width:400
Height:30
Visible:false
Children:
Label@NAME:
Id:NAME
Text:Name
Width:139
Height:25
X:0
Y:0
ColorBlock@COLOR:
Id:COLOR
X:164
Y:7
Width:PARENT_RIGHT-10
Height:PARENT_BOTTOM-12
Button@FACTION:
Id:FACTION
Width:110
Height:25
X:244
Y:0
Children:
Image@FACTIONFLAG:
Id:FACTIONFLAG
Width:30
Height:15
X:5
Y:5
Label@FACTIONNAME:
Id:FACTIONNAME
Text:Faction
Width:60
Width:55
Height:13
Label@FACTION:
Id:FACTION
Width:110
Height:25
X:40
X:244
Y:0
Button@TEAM:
Id:TEAM
Text:Team
Width:25
Height:25
X:374
Y:0
Checkbox@STATUS:
Id:STATUS
X:455
Y:2
Width:20
Height:20
Container@TEMPLATE_REMOTE:
Id:TEMPLATE_REMOTE
X:0
Y:0
Width:500
Height:30
Visible:false
Children:
Label@NAME:
Id:NAME
Text:Name
Width:139
Height:25
X:0
Y:0
ColorBlock@COLOR:
Id:COLOR
X:164
Y:7
Width:55
Height:13
Label@FACTION:
Id:FACTION
Width:110
Height:25
X:244
Y:0
Children:
Image@FACTIONFLAG:
Id:FACTIONFLAG
Width:30
Height:15
X:5
Y:5
Label@FACTIONNAME:
Id:FACTIONNAME
Text:Faction
Width:60
Children:
Image@FACTIONFLAG:
Id:FACTIONFLAG
Width:30
Height:15
X:5
Y:5
Label@FACTIONNAME:
Id:FACTIONNAME
Text:Faction
Width:60
Height:25
X:40
Y:0
Label@TEAM:
Id:TEAM
Text:Team
Width:70
Height:25
X:40
X:351
Y:0
Label@TEAM:
Id:TEAM
Text:Team
Width:70
Height:25
X:351
Y:0
Align:Center
Bold: false
Checkbox@STATUS:
Id:STATUS
X:455
Y:2
Width:20
Height:20
Container@TEMPLATE_EMPTY:
Id:TEMPLATE_EMPTY
X:0
Y:0
Width:500
Height:30
Visible:false
Children:
Label@NAME:
Id:NAME
Text:Name
Width:139
Height:25
Align:Center
Bold: false
Checkbox@STATUS:
Id:STATUS
X:455
Y:2
Width:20
Height:20
Container@TEMPLATE_EMPTY_SPECTATOR:
Id:TEMPLATE_EMPTY_SPECTATOR
X:0
Y:0
Button@JOIN:
Id:JOIN
Text:Play in this slot
Width:PARENT_RIGHT - 160
Height:25
X:160
Y:0
Container@TEMPLATE_EMPTY_HOST:
Id:TEMPLATE_EMPTY_HOST
X:0
Y:0
Width:500
Height:30
Visible:false
Children:
Button@NAME: -- TODO: replace with dropdown
Id:NAME
Text:Name
Width:155
Height:25
Width:400
Height:30
Visible:false
Children:
Button@NAME:
Id:NAME
Text:Name
Width:139
Height:25
X:0
Y:0
Button@JOIN:
Id:JOIN
Text:Spectate this match
Width:PARENT_RIGHT - 90
Height:25
X:160
Y:0
Container@TEMPLATE_EMPTY:
Id:TEMPLATE_EMPTY
X:0
Y:0
Button@JOIN:
Id:JOIN
Text:Play in this slot
Width:PARENT_RIGHT - 160
Height:25
X:160
Width:400
Height:30
Visible:false
Children:
Label@NAME:
Id:NAME
Text:Name
Width:139
Height:25
X:0
Y:0
Button@JOIN:
Id:JOIN
Text:Play in this slot
Width:PARENT_RIGHT - 90
Height:25
X:160
Y:0
Container@TEMPLATE_EMPTY_HOST:
Id:TEMPLATE_EMPTY_HOST
X:0
Y:0
Width:400
Height:30
Visible:false
Children:
Button@NAME: -- TODO: replace with dropdown
Id:NAME
Text:Name
Width:155
Height:25
X:0
Y:0
Button@JOIN:
Id:JOIN
Text:Play in this slot
Width:PARENT_RIGHT - 90
Height:25
X:160
Y:0
Container@LABEL_CONTAINER:
X:30
Y:45
@@ -240,7 +269,7 @@ Background@SERVER_LOBBY:
Bold:True
Label@LABEL_LOBBY_STATUS:
Id:LABEL_LOBBY_STATUS
X:432
X:420
Y:0
Width:70
Height:25

View File

@@ -284,3 +284,133 @@ Container@INGAME_ROOT:
Width:200
Height:20
Text: Give Exploration
Container@OBSERVER_ROOT:
Id:OBSERVER_ROOT
Visible:true
Delegate:IngameObserverChromeDelegate
Children:
WorldInteractionController:
X:0
Y:0
Width:WINDOW_RIGHT
Height:WINDOW_BOTTOM
ViewportScrollController:
X:0
Y:0
Width:WINDOW_RIGHT
Height:WINDOW_BOTTOM
Timer@GAME_TIMER:
Id:GAME_TIMER
X: WINDOW_RIGHT/2
Y: 10
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
X:0
Y:25
Button@INGAME_OPTIONS_BUTTON:
Id:INGAME_OPTIONS_BUTTON
X:0
Y:0
Width:160
Height:25
Text:Options
Bold:True
WorldTooltip:
Background@INGAME_OPTIONS_BG:
Id:INGAME_OPTIONS_BG
X:(WINDOW_RIGHT - WIDTH)/2
Y:(WINDOW_BOTTOM - HEIGHT)/2
Width:300
Height:320
Visible:false
Children:
Label@LABEL_TITLE:
Id:LABEL_TITLE
X:(PARENT_RIGHT - WIDTH)/2
Y:20
Width:250
Height:25
Text:Options
Align:Center
Bold:True
Button@RESUME:
Id:RESUME
X:(PARENT_RIGHT - WIDTH)/2
Y:60
Width:160
Height:25
Text:Resume
Bold:True
Button@SETTINGS:
Id:SETTINGS
X:(PARENT_RIGHT - WIDTH)/2
Y:100
Width:160
Height:25
Text:Settings
Bold:True
Button@MUSIC:
Id:MUSIC
X:(PARENT_RIGHT - WIDTH)/2
Y:140
Width:160
Height:25
Text:Music
Bold:True
Button@SURRENDER:
Id:SURRENDER
X:(PARENT_RIGHT - WIDTH)/2
Y:180
Width:160
Height:25
Text:Surrender
Bold:True
Button@DISCONNECT:
Id:DISCONNECT
X:(PARENT_RIGHT - WIDTH)/2
Y:220
Width:160
Height:25
Text:Disconnect
Bold:True
Button@QUIT:
Id:QUIT
X:(PARENT_RIGHT - WIDTH)/2
Y:260
Width:160
Height:25
Text:Quit
Bold:True
ChatDisplay@CHAT_DISPLAY:
Id:CHAT_DISPLAY
X:250
Y:WINDOW_BOTTOM - HEIGHT - 30
Width: 760
Height: 200
ClickThrough: True
DrawBackground: False
RemoveTime:250
ChatEntry@CHAT_ENTRY:
Id:CHAT_ENTRY
X:250
Y:WINDOW_BOTTOM - HEIGHT
Width: 760
Height: 30
ClickThrough: True

View File

@@ -125,8 +125,10 @@ Player:
PlayerColorPalette:
BasePalette: terrain
World:
World:
OpenWidgetAtGameStart:
Widget: INGAME_ROOT
ObserverWidget: OBSERVER_ROOT
ScreenShaker:
WaterPaletteRotation:
ChronoshiftPaletteEffect: