diff --git a/src/client/haxe/ru/m/tankz/Client.yaml b/src/client/haxe/ru/m/tankz/Client.yaml index ffaf918..6c105e5 100755 --- a/src/client/haxe/ru/m/tankz/Client.yaml +++ b/src/client/haxe/ru/m/tankz/Client.yaml @@ -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" diff --git a/src/client/haxe/ru/m/tankz/frame/GameFrame.hx b/src/client/haxe/ru/m/tankz/frame/GameFrame.hx index f65305b..19367fe 100755 --- a/src/client/haxe/ru/m/tankz/frame/GameFrame.hx +++ b/src/client/haxe/ru/m/tankz/frame/GameFrame.hx @@ -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; } diff --git a/src/client/haxe/ru/m/tankz/frame/GameFrame.yaml b/src/client/haxe/ru/m/tankz/frame/GameFrame.yaml index 34c3854..2812b70 100644 --- a/src/client/haxe/ru/m/tankz/frame/GameFrame.yaml +++ b/src/client/haxe/ru/m/tankz/frame/GameFrame.yaml @@ -2,11 +2,44 @@ pWidth: 100 pHeight: 100 views: -- id: state - $type: haxework.gui.LabelView - $style: label +- id: topPanel + $type: haxework.gui.HGroupView pWidth: 100 height: 20 -- id: render - $type: ru.m.tankz.render.Render - contentSize: true + visible: false + inLayout: false + views: + - id: state + $type: haxework.gui.LabelView + $style: label + pWidth: 100 + height: 20 +- $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 diff --git a/src/client/haxe/ru/m/tankz/frame/StartFrame.yaml b/src/client/haxe/ru/m/tankz/frame/StartFrame.yaml index 0a29cda..8fdd5b2 100644 --- a/src/client/haxe/ru/m/tankz/frame/StartFrame.yaml +++ b/src/client/haxe/ru/m/tankz/frame/StartFrame.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/frame/settings/ActionView.yaml b/src/client/haxe/ru/m/tankz/frame/settings/ActionView.yaml index eb07136..505c860 100644 --- a/src/client/haxe/ru/m/tankz/frame/settings/ActionView.yaml +++ b/src/client/haxe/ru/m/tankz/frame/settings/ActionView.yaml @@ -1,5 +1,5 @@ --- -width: 440 +pWidth: 100 height: 44 margins: 5 views: diff --git a/src/client/haxe/ru/m/tankz/render/Render.hx b/src/client/haxe/ru/m/tankz/render/Render.hx index fd00e6c..bcde305 100755 --- a/src/client/haxe/ru/m/tankz/render/Render.hx +++ b/src/client/haxe/ru/m/tankz/render/Render.hx @@ -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 { - upperLayer.removeChild(animate); + // ToDo: clean animates on reset + if (upperLayer.contains(animate)) { + upperLayer.removeChild(animate); + } animate.dispose(); }); }