[client] update layout
This commit is contained in:
@@ -2,11 +2,14 @@
|
||||
$type: haxework.gui.VGroupView
|
||||
pWidth: 100
|
||||
pHeight: 100
|
||||
skin:
|
||||
$type: haxework.gui.skin.ColorSkin
|
||||
color: "0x95937D"
|
||||
views:
|
||||
- id: switcher
|
||||
$type: haxework.gui.frame.FrameSwitcher
|
||||
pWidth: 100
|
||||
pHeight: 100
|
||||
width: 960
|
||||
height: 720
|
||||
skin:
|
||||
$type: haxework.gui.skin.BitmapSkin
|
||||
image: "@asset:image:resources/image/ui/background.png"
|
||||
@@ -22,12 +25,3 @@ views:
|
||||
$type: ru.m.tankz.frame.NetworkFrame
|
||||
- id: settings
|
||||
$type: ru.m.tankz.frame.SettingsFrame
|
||||
- $type: haxework.gui.LabelView
|
||||
$style: label
|
||||
inLayout: false
|
||||
contentSize: true
|
||||
vAlign: BOTTOM
|
||||
hAlign: RIGHT
|
||||
rightMargin: 10
|
||||
bottomMargin: 10
|
||||
text: "@res:text:version"
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
package ru.m.tankz.frame;
|
||||
|
||||
import ru.m.tankz.preset.DotaGame;
|
||||
import ru.m.tankz.preset.ClassicGame;
|
||||
import ru.m.tankz.Type.GameType;
|
||||
import haxework.gui.View;
|
||||
import ru.m.tankz.network.NetworkManager;
|
||||
import ru.m.tankz.network.NetworkGame;
|
||||
import flash.events.Event;
|
||||
@@ -26,6 +30,14 @@ class GameFrame extends VGroupView {
|
||||
|
||||
@:view var state(default, null):LabelView;
|
||||
@:view var render(default, null):Render;
|
||||
|
||||
@:view var topPanel(default, null):View;
|
||||
@:view var rightPanel(default, null):View;
|
||||
|
||||
@:view var botstate(default, null):LabelView;
|
||||
@:view var player1state(default, null):LabelView;
|
||||
@:view var player2state(default, null):LabelView;
|
||||
|
||||
@:provide var network:NetworkManager;
|
||||
|
||||
private var game:Game;
|
||||
@@ -43,6 +55,14 @@ class GameFrame extends VGroupView {
|
||||
}
|
||||
|
||||
private function start(save:GameSave):Void {
|
||||
switch (save.state.type) {
|
||||
case ClassicGame.TYPE:
|
||||
topPanel.visible = topPanel.inLayout = false;
|
||||
rightPanel.visible = rightPanel.inLayout = true;
|
||||
case DotaGame.TYPE:
|
||||
topPanel.visible = topPanel.inLayout = true;
|
||||
rightPanel.visible = rightPanel.inLayout = false;
|
||||
}
|
||||
switch (save.server) {
|
||||
case GameServer.LOCAL:
|
||||
game = new Game(save.state.type);
|
||||
@@ -98,6 +118,15 @@ class GameFrame extends VGroupView {
|
||||
|
||||
private function onGameStateChange(s:GameState):GameState {
|
||||
state.text = stateString(game);
|
||||
if (game.type == ClassicGame.TYPE) {
|
||||
botstate.text = 'Bot: ${game.teams[ClassicGame.BOT].life} life';
|
||||
player1state.text = 'Player1: ${game.teams[ClassicGame.HUMAN].players[0].state.life} life';
|
||||
if (game.teams[ClassicGame.HUMAN].players[1] != null) {
|
||||
player2state.text = 'Player2: ${game.teams[ClassicGame.HUMAN].players[1].state.life} life';
|
||||
} else {
|
||||
player2state.text = "";
|
||||
}
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,11 +2,44 @@
|
||||
pWidth: 100
|
||||
pHeight: 100
|
||||
views:
|
||||
- id: state
|
||||
- id: topPanel
|
||||
$type: haxework.gui.HGroupView
|
||||
pWidth: 100
|
||||
height: 20
|
||||
visible: false
|
||||
inLayout: false
|
||||
views:
|
||||
- id: state
|
||||
$type: haxework.gui.LabelView
|
||||
$style: label
|
||||
pWidth: 100
|
||||
height: 20
|
||||
- id: render
|
||||
- $type: haxework.gui.HGroupView
|
||||
pWidth: 100
|
||||
pHeight: 100
|
||||
views:
|
||||
- id: render
|
||||
$type: ru.m.tankz.render.Render
|
||||
contentSize: true
|
||||
- id: rightPanel
|
||||
$type: haxework.gui.VGroupView
|
||||
width: 200
|
||||
pHeight: 100
|
||||
visible: false
|
||||
inLayout: false
|
||||
views:
|
||||
- id: botstate
|
||||
$type: haxework.gui.LabelView
|
||||
$style: label
|
||||
pWidth: 100
|
||||
height: 20
|
||||
- id: player1state
|
||||
$type: haxework.gui.LabelView
|
||||
$style: label
|
||||
pWidth: 100
|
||||
height: 20
|
||||
- id: player2state
|
||||
$type: haxework.gui.LabelView
|
||||
$style: label
|
||||
pWidth: 100
|
||||
height: 20
|
||||
|
||||
@@ -70,7 +70,15 @@ views:
|
||||
$type: haxework.gui.ButtonView
|
||||
text: Network
|
||||
$style: button
|
||||
# settings
|
||||
- $type: haxework.gui.LabelView
|
||||
$style: label
|
||||
inLayout: false
|
||||
contentSize: true
|
||||
vAlign: BOTTOM
|
||||
hAlign: RIGHT
|
||||
rightMargin: 10
|
||||
bottomMargin: 10
|
||||
text: "@res:text:version"
|
||||
- id: settings
|
||||
$type: haxework.gui.ButtonView
|
||||
inLayout: false
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
width: 440
|
||||
pWidth: 100
|
||||
height: 44
|
||||
margins: 5
|
||||
views:
|
||||
|
||||
@@ -179,7 +179,10 @@ class Render extends SpriteView {
|
||||
animate.y = point.y - animate.height / 2;
|
||||
upperLayer.addChild(animate);
|
||||
animate.play().then(function(animate:Animate):Void {
|
||||
// ToDo: clean animates on reset
|
||||
if (upperLayer.contains(animate)) {
|
||||
upperLayer.removeChild(animate);
|
||||
}
|
||||
animate.dispose();
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user