[client] add death game panel

This commit is contained in:
2019-03-26 17:37:33 +03:00
parent e609dafedc
commit fd0e2382d0
11 changed files with 51 additions and 58 deletions

View File

@@ -37,10 +37,10 @@ import ru.m.tankz.preset.DotaGame;
}
public function onShow() {
resultView.data = resultState.players.filter(function(player) return switch player.controller {
resultView.data = Lambda.array(Lambda.filter(resultState.players, function(player:PlayerState):Bool return switch player.controller {
case HUMAN(_): true;
case _: false;
});
}));
levelLabel.text = 'Level ${resultState.level}';
nextButton.visible = state != null;
}

View File

@@ -1,11 +1,10 @@
package ru.m.tankz.view.common;
import haxework.resources.IResources;
import haxework.view.ButtonView;
import haxework.view.GroupView;
import haxework.resources.IResources;
import ru.m.tankz.bundle.IConfigBundle;
import ru.m.tankz.config.Config;
import ru.m.tankz.control.Control.Controller;
import ru.m.tankz.game.GameState;
import ru.m.tankz.Type;
@@ -33,13 +32,6 @@ class LevelFrame extends GroupView {
if (preset != value || true) { // ToDo:
preset = value;
state = new GameState(gameType, preset.id);
for (team in value.teams) {
for (player in team.players) {
var playerId = new PlayerId(team.id, player.index);
var controller = player.human ? HUMAN(player.index) : NONE;
state.players.push(new PlayerState(playerId, controller, player.life));
}
}
}
return preset;
}

View File

@@ -15,7 +15,7 @@ import ru.m.tankz.view.common.LifeView;
public function onGameStart(state:GameState):Void {
level.text = 'Level ${state.level}';
players.data = state.players;
players.data = Lambda.array(state.players);
}
public function onGameChange(state:GameState):Void {

View File

@@ -1,5 +1,6 @@
package ru.m.tankz.view.death;
import Lambda;
import haxework.view.ButtonView;
import haxework.view.DataView;
import haxework.view.frame.FrameSwitcher;
@@ -19,7 +20,7 @@ import ru.m.tankz.view.common.PlayerView;
private function onShow():Void {
gameType = DeathGame.TYPE;
levels.data = [for (i in 0...config.game.levels) i];
players.data = [for (i in 0...2) state.players];
players.data = [for (i in 0...2) Lambda.array(state.players)];
}
private function playerViewFactory(index:Int, data:Array<PlayerState>):PlayerView {

View File

@@ -1,5 +1,6 @@
package ru.m.tankz.view.dota;
import Lambda;
import haxework.view.ButtonView;
import haxework.view.DataView;
import haxework.view.frame.FrameSwitcher;
@@ -19,7 +20,7 @@ import ru.m.tankz.preset.DotaGame;
private function onShow():Void {
gameType = DotaGame.TYPE;
levels.data = [for (i in 0...config.game.levels) i];
players.data = [for (i in 0...2) state.players];
players.data = [for (i in 0...2) Lambda.array(state.players)];
}
private function playerViewFactory(index:Int, data:Array<PlayerState>):PlayerView {