From cbb28f41589ac99f42a5dfc6ed0cd148736ab828 Mon Sep 17 00:00:00 2001 From: shmyga Date: Mon, 13 May 2019 19:32:52 +0300 Subject: [PATCH] [client] add position to IGamePanel --- .../ru/m/tankz/view/game/ClassicGamePanel.hx | 2 ++ .../haxe/ru/m/tankz/view/game/DeathGamePanel.hx | 2 ++ .../haxe/ru/m/tankz/view/game/DotaGamePanel.hx | 2 ++ src/client/haxe/ru/m/tankz/view/game/GameView.hx | 16 +++++++++------- .../haxe/ru/m/tankz/view/game/IGamePanel.hx | 3 ++- .../haxe/ru/m/tankz/network/NetworkGame.hx | 5 ----- 6 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/client/haxe/ru/m/tankz/view/game/ClassicGamePanel.hx b/src/client/haxe/ru/m/tankz/view/game/ClassicGamePanel.hx index 873b3b1..0200759 100644 --- a/src/client/haxe/ru/m/tankz/view/game/ClassicGamePanel.hx +++ b/src/client/haxe/ru/m/tankz/view/game/ClassicGamePanel.hx @@ -2,6 +2,7 @@ package ru.m.tankz.view.game; import haxework.view.LabelView; import haxework.view.VGroupView; +import ru.m.geom.Direction; import ru.m.tankz.game.GameEvent; import ru.m.tankz.game.GameState; import ru.m.tankz.preset.ClassicGame; @@ -9,6 +10,7 @@ import ru.m.tankz.Type.PlayerId; import ru.m.tankz.view.common.LifeView; @:template class ClassicGamePanel extends VGroupView implements IGamePanel { + public var position(default, null):Direction = Direction.RIGHT; @:view var bot:LifeView; @:view var player1:LifeView; diff --git a/src/client/haxe/ru/m/tankz/view/game/DeathGamePanel.hx b/src/client/haxe/ru/m/tankz/view/game/DeathGamePanel.hx index db7249a..081ba92 100644 --- a/src/client/haxe/ru/m/tankz/view/game/DeathGamePanel.hx +++ b/src/client/haxe/ru/m/tankz/view/game/DeathGamePanel.hx @@ -3,11 +3,13 @@ package ru.m.tankz.view.game; import haxework.view.DataView; import haxework.view.LabelView; import haxework.view.VGroupView; +import ru.m.geom.Direction; import ru.m.tankz.game.GameEvent; import ru.m.tankz.game.GameState; import ru.m.tankz.view.common.LifeView; @:template class DeathGamePanel extends VGroupView implements IGamePanel { + public var position(default, null):Direction = Direction.RIGHT; @:view var level:LabelView; @:view var players:DataView; diff --git a/src/client/haxe/ru/m/tankz/view/game/DotaGamePanel.hx b/src/client/haxe/ru/m/tankz/view/game/DotaGamePanel.hx index bb19586..2ce9242 100644 --- a/src/client/haxe/ru/m/tankz/view/game/DotaGamePanel.hx +++ b/src/client/haxe/ru/m/tankz/view/game/DotaGamePanel.hx @@ -2,6 +2,7 @@ package ru.m.tankz.view.game; import haxework.view.HGroupView; import haxework.view.LabelView; +import ru.m.geom.Direction; import ru.m.tankz.game.GameEvent; import ru.m.tankz.game.GameState; import ru.m.tankz.preset.DotaGame; @@ -9,6 +10,7 @@ import ru.m.tankz.Type.TeamId; import ru.m.tankz.view.common.LifeView; @:template class DotaGamePanel extends HGroupView implements IGamePanel { + public var position(default, null):Direction = Direction.TOP; @:view var radiant:LifeView; @:view var dire:LifeView; diff --git a/src/client/haxe/ru/m/tankz/view/game/GameView.hx b/src/client/haxe/ru/m/tankz/view/game/GameView.hx index 742ae6d..8ffd97d 100644 --- a/src/client/haxe/ru/m/tankz/view/game/GameView.hx +++ b/src/client/haxe/ru/m/tankz/view/game/GameView.hx @@ -2,6 +2,7 @@ package ru.m.tankz.view.game; import haxework.view.IGroupView; import haxework.view.VGroupView; +import ru.m.geom.Direction; import ru.m.tankz.preset.ClassicGame; import ru.m.tankz.preset.DeathGame; import ru.m.tankz.preset.DotaGame; @@ -26,7 +27,7 @@ import ru.m.tankz.Type; panel.remove(); } panel = buildPanel(type); - panelContainer(type).addView(panel); + getContainer(panel.position).addView(panel); } return type; } @@ -40,12 +41,13 @@ import ru.m.tankz.Type; } } - private function panelContainer(type:GameType):IGroupView { - return switch type { - case ClassicGame.TYPE: right; - case DotaGame.TYPE: top; - case DeathGame.TYPE: right; - case _: throw 'Unsupported type: ${type}'; + private function getContainer(position:Direction):IGroupView { + return switch position.toString() { + case "RIGHT": right; + case "LEFT": left; + case "TOP": top; + case "BOTTOM": bottom; + case _: throw 'Unsupported position: ${position}'; } } } diff --git a/src/client/haxe/ru/m/tankz/view/game/IGamePanel.hx b/src/client/haxe/ru/m/tankz/view/game/IGamePanel.hx index c4fc486..6ae3004 100644 --- a/src/client/haxe/ru/m/tankz/view/game/IGamePanel.hx +++ b/src/client/haxe/ru/m/tankz/view/game/IGamePanel.hx @@ -1,8 +1,9 @@ package ru.m.tankz.view.game; import haxework.view.IView; +import ru.m.geom.Direction; import ru.m.tankz.game.IGame; interface IGamePanel extends IView extends GameListener { - + public var position(default, null):Direction; } diff --git a/src/common/haxe/ru/m/tankz/network/NetworkGame.hx b/src/common/haxe/ru/m/tankz/network/NetworkGame.hx index 69c0a85..a057924 100644 --- a/src/common/haxe/ru/m/tankz/network/NetworkGame.hx +++ b/src/common/haxe/ru/m/tankz/network/NetworkGame.hx @@ -2,7 +2,6 @@ package ru.m.tankz.network; import ru.m.tankz.game.Game; import ru.m.tankz.proto.core.GameProto; -import ru.m.tankz.proto.game.GameChangeProto; class NetworkGame extends Game { @@ -13,10 +12,6 @@ class NetworkGame extends Game { // ToDo: } - public function update(changes:Array):Void { - - } - public function export():GameProto { return new GameProto(); }