[client] update layout
This commit is contained in:
@@ -2,11 +2,14 @@
|
|||||||
$type: haxework.gui.VGroupView
|
$type: haxework.gui.VGroupView
|
||||||
pWidth: 100
|
pWidth: 100
|
||||||
pHeight: 100
|
pHeight: 100
|
||||||
|
skin:
|
||||||
|
$type: haxework.gui.skin.ColorSkin
|
||||||
|
color: "0x95937D"
|
||||||
views:
|
views:
|
||||||
- id: switcher
|
- id: switcher
|
||||||
$type: haxework.gui.frame.FrameSwitcher
|
$type: haxework.gui.frame.FrameSwitcher
|
||||||
pWidth: 100
|
width: 960
|
||||||
pHeight: 100
|
height: 720
|
||||||
skin:
|
skin:
|
||||||
$type: haxework.gui.skin.BitmapSkin
|
$type: haxework.gui.skin.BitmapSkin
|
||||||
image: "@asset:image:resources/image/ui/background.png"
|
image: "@asset:image:resources/image/ui/background.png"
|
||||||
@@ -22,12 +25,3 @@ views:
|
|||||||
$type: ru.m.tankz.frame.NetworkFrame
|
$type: ru.m.tankz.frame.NetworkFrame
|
||||||
- id: settings
|
- id: settings
|
||||||
$type: ru.m.tankz.frame.SettingsFrame
|
$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;
|
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.NetworkManager;
|
||||||
import ru.m.tankz.network.NetworkGame;
|
import ru.m.tankz.network.NetworkGame;
|
||||||
import flash.events.Event;
|
import flash.events.Event;
|
||||||
@@ -26,6 +30,14 @@ class GameFrame extends VGroupView {
|
|||||||
|
|
||||||
@:view var state(default, null):LabelView;
|
@:view var state(default, null):LabelView;
|
||||||
@:view var render(default, null):Render;
|
@: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;
|
@:provide var network:NetworkManager;
|
||||||
|
|
||||||
private var game:Game;
|
private var game:Game;
|
||||||
@@ -43,6 +55,14 @@ class GameFrame extends VGroupView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function start(save:GameSave):Void {
|
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) {
|
switch (save.server) {
|
||||||
case GameServer.LOCAL:
|
case GameServer.LOCAL:
|
||||||
game = new Game(save.state.type);
|
game = new Game(save.state.type);
|
||||||
@@ -98,6 +118,15 @@ class GameFrame extends VGroupView {
|
|||||||
|
|
||||||
private function onGameStateChange(s:GameState):GameState {
|
private function onGameStateChange(s:GameState):GameState {
|
||||||
state.text = stateString(game);
|
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;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,44 @@
|
|||||||
pWidth: 100
|
pWidth: 100
|
||||||
pHeight: 100
|
pHeight: 100
|
||||||
views:
|
views:
|
||||||
- id: state
|
- id: topPanel
|
||||||
|
$type: haxework.gui.HGroupView
|
||||||
|
pWidth: 100
|
||||||
|
height: 20
|
||||||
|
visible: false
|
||||||
|
inLayout: false
|
||||||
|
views:
|
||||||
|
- id: state
|
||||||
$type: haxework.gui.LabelView
|
$type: haxework.gui.LabelView
|
||||||
$style: label
|
$style: label
|
||||||
pWidth: 100
|
pWidth: 100
|
||||||
height: 20
|
height: 20
|
||||||
- id: render
|
- $type: haxework.gui.HGroupView
|
||||||
|
pWidth: 100
|
||||||
|
pHeight: 100
|
||||||
|
views:
|
||||||
|
- id: render
|
||||||
$type: ru.m.tankz.render.Render
|
$type: ru.m.tankz.render.Render
|
||||||
contentSize: true
|
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
|
$type: haxework.gui.ButtonView
|
||||||
text: Network
|
text: Network
|
||||||
$style: button
|
$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
|
- id: settings
|
||||||
$type: haxework.gui.ButtonView
|
$type: haxework.gui.ButtonView
|
||||||
inLayout: false
|
inLayout: false
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
width: 440
|
pWidth: 100
|
||||||
height: 44
|
height: 44
|
||||||
margins: 5
|
margins: 5
|
||||||
views:
|
views:
|
||||||
|
|||||||
@@ -179,7 +179,10 @@ class Render extends SpriteView {
|
|||||||
animate.y = point.y - animate.height / 2;
|
animate.y = point.y - animate.height / 2;
|
||||||
upperLayer.addChild(animate);
|
upperLayer.addChild(animate);
|
||||||
animate.play().then(function(animate:Animate):Void {
|
animate.play().then(function(animate:Animate):Void {
|
||||||
|
// ToDo: clean animates on reset
|
||||||
|
if (upperLayer.contains(animate)) {
|
||||||
upperLayer.removeChild(animate);
|
upperLayer.removeChild(animate);
|
||||||
|
}
|
||||||
animate.dispose();
|
animate.dispose();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user