[client] text.box style update
This commit is contained in:
@@ -61,13 +61,14 @@ class AppTheme extends Theme {
|
||||
"skin.background.color" => Color.fromInt(0x000000),
|
||||
"skin.background.alpha" => 0.1,
|
||||
"skin.border.color" => colors.light,
|
||||
"geometry.padding" => Box.fromArray([15, 8]),
|
||||
], ["text"]));
|
||||
|
||||
register(new Style("text.box.active", [
|
||||
"skin.background.color" => Color.fromInt(0x55aa55),
|
||||
"skin.background.alpha" => 1,
|
||||
"skin.border.color" => Color.fromInt(0x88dd88),
|
||||
], ["text"]));
|
||||
], ["text.box"]));
|
||||
|
||||
register(new Style("button.level", [
|
||||
"font.size" => fontSize.veryBig,
|
||||
|
||||
@@ -34,7 +34,6 @@ views:
|
||||
- $type: haxework.view.form.LabelView
|
||||
geometry.hAlign: right
|
||||
geometry.vAlign: top
|
||||
geometry.padding: [20, 5]
|
||||
geometry.position: absolute
|
||||
geometry.margin: [0, 20, 20, 0]
|
||||
style: text.box
|
||||
|
||||
@@ -89,6 +89,7 @@ using ru.m.tankz.view.ViewUtil;
|
||||
var result = new SlotView();
|
||||
result.select.onSelect.connect(function(controller:Controller) setController(value, controller));
|
||||
result.control = value;
|
||||
result.tank = start.state.config.getTank(start.state.config.getPlayer(value.playerId).tanks[0].type).skin;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -32,12 +32,12 @@ class KeyboardMap {
|
||||
|
||||
class ViewUtil {
|
||||
|
||||
public static function toLevelLabel(level:LevelConfig):String {
|
||||
public static function toLevelLabel(level:LevelConfig, oneline:Bool = false):String {
|
||||
var result:Array<String> = ['${level.packId.type} #${level.id}'];
|
||||
if (level.name != null) {
|
||||
result.push(level.name);
|
||||
}
|
||||
return result.join("\n");
|
||||
return result.join(oneline ? " " : "\n");
|
||||
}
|
||||
|
||||
public static function toActionLabel(action:TankAction):String {
|
||||
|
||||
@@ -7,9 +7,7 @@ views:
|
||||
$type: haxework.view.form.LabelView
|
||||
style: text.box
|
||||
geometry.width: 50
|
||||
geometry.height: 38
|
||||
- id: score
|
||||
$type: haxework.view.form.LabelView
|
||||
style: text.box
|
||||
geometry.width: 100
|
||||
geometry.height: 38
|
||||
|
||||
@@ -11,22 +11,18 @@ views:
|
||||
$type: haxework.view.form.LabelView
|
||||
style: text.box
|
||||
geometry.width: 200
|
||||
geometry.height: 38
|
||||
- id: type
|
||||
$type: haxework.view.form.LabelView
|
||||
style: text.box
|
||||
geometry.width: 200
|
||||
geometry.height: 38
|
||||
- id: level
|
||||
$type: haxework.view.form.LabelView
|
||||
style: text.box
|
||||
geometry.width: 100
|
||||
geometry.height: 38
|
||||
- id: preset
|
||||
$type: haxework.view.form.LabelView
|
||||
style: text.box
|
||||
geometry.width: 100
|
||||
geometry.height: 38
|
||||
- id: delete
|
||||
$type: haxework.view.form.ButtonView
|
||||
style: button.close.small
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package ru.m.tankz.view.common;
|
||||
|
||||
import openfl.Assets;
|
||||
import haxework.view.ImageView;
|
||||
import haxework.view.form.LabelView;
|
||||
import haxework.view.form.SelectView;
|
||||
import haxework.view.group.HGroupView;
|
||||
@@ -9,10 +11,12 @@ import ru.m.tankz.control.PlayerControl;
|
||||
|
||||
@:template class SlotView extends HGroupView {
|
||||
|
||||
@:view("tank") public var tankView:ImageView;
|
||||
@:view("slot") public var slotLabel:LabelView;
|
||||
@:view("select") public var select:SelectView<Controller>;
|
||||
|
||||
public var control(default, set):PlayerControl;
|
||||
public var tank(default, set):String;
|
||||
|
||||
private function set_control(value:PlayerControl):PlayerControl {
|
||||
control = value;
|
||||
@@ -23,9 +27,18 @@ import ru.m.tankz.control.PlayerControl;
|
||||
skin.background.color = value.color;
|
||||
skin.background.alpha = 0.2;
|
||||
select.selected = control.controller;
|
||||
tankView.color = value.color;
|
||||
return control;
|
||||
}
|
||||
|
||||
private function set_tank(value:String):String {
|
||||
if (tank != value) {
|
||||
tank = value;
|
||||
tankView.image = Assets.getBitmapData('resources/image/tank/${tank}-0.png');
|
||||
}
|
||||
return tank;
|
||||
}
|
||||
|
||||
private function onControllerSelect(value:Controller):Void {
|
||||
select.currentView.style = switch value {
|
||||
case HUMAN(_): "button.active";
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
---
|
||||
geometry.height: 48
|
||||
geometry.padding: 2
|
||||
layout.margin: 10
|
||||
layout.vAlign: middle
|
||||
views:
|
||||
- id: tank
|
||||
$type: haxework.view.ImageView
|
||||
- id: slot
|
||||
$type: haxework.view.form.LabelView
|
||||
style: text.box
|
||||
geometry.height: 100%
|
||||
geometry.width: 150
|
||||
- id: select
|
||||
$type: haxework.view.form.SelectView<ru.m.tankz.control.Controller>
|
||||
|
||||
@@ -9,6 +9,8 @@ import ru.m.tankz.preset.ClassicGame;
|
||||
import ru.m.tankz.Type.PlayerId;
|
||||
import ru.m.tankz.view.common.LifeView;
|
||||
|
||||
using ru.m.tankz.view.ViewUtil;
|
||||
|
||||
@:template class ClassicGamePanel extends VGroupView implements IGamePanel {
|
||||
public var position(default, null):Direction = Direction.RIGHT;
|
||||
|
||||
@@ -36,7 +38,7 @@ import ru.m.tankz.view.common.LifeView;
|
||||
public function onGameEvent(event:GameEvent):Void {
|
||||
switch event {
|
||||
case START(start):
|
||||
this.level.text = 'Level ${start.level.id}';
|
||||
this.level.text = start.level.toLevelLabel();
|
||||
refresh(start.state);
|
||||
case CHANGE(TEAM_LIFE(teamId, life)):
|
||||
if (teamId == ClassicGame.BOT) {
|
||||
|
||||
@@ -7,7 +7,6 @@ views:
|
||||
- id: level
|
||||
$type: haxework.view.form.LabelView
|
||||
style: text.box
|
||||
geometry.height: 38
|
||||
geometry.width: 100%
|
||||
- $type: haxework.view.SpriteView
|
||||
geometry.height: 50%
|
||||
|
||||
@@ -10,6 +10,8 @@ import ru.m.tankz.game.GameState;
|
||||
import ru.m.tankz.preset.DeathGame;
|
||||
import ru.m.tankz.view.common.LifeView;
|
||||
|
||||
using ru.m.tankz.view.ViewUtil;
|
||||
|
||||
@:template class DeathGamePanel extends VGroupView implements IGamePanel {
|
||||
public var position(default, null):Direction = Direction.RIGHT;
|
||||
|
||||
@@ -30,7 +32,7 @@ import ru.m.tankz.view.common.LifeView;
|
||||
public function onGameEvent(event:GameEvent):Void {
|
||||
switch event {
|
||||
case START(start):
|
||||
this.level.text = 'Level ${start.level.id}';
|
||||
this.level.text = start.level.toLevelLabel();
|
||||
players.data = Lambda.array(start.state.players);
|
||||
case SPAWN(TANK(_, _, playerId, info)):
|
||||
var skin = configBundle.get(DeathGame.TYPE).getTank(info.type).skin;
|
||||
|
||||
@@ -7,7 +7,6 @@ views:
|
||||
- id: level
|
||||
$type: haxework.view.form.LabelView
|
||||
style: text.box
|
||||
geometry.height: 38
|
||||
geometry.width: 100%
|
||||
- $type: haxework.view.SpriteView
|
||||
geometry.height: 50%
|
||||
|
||||
@@ -9,6 +9,8 @@ import ru.m.tankz.preset.DotaGame;
|
||||
import ru.m.tankz.Type.TeamId;
|
||||
import ru.m.tankz.view.common.LifeView;
|
||||
|
||||
using ru.m.tankz.view.ViewUtil;
|
||||
|
||||
@:template class DotaGamePanel extends HGroupView implements IGamePanel {
|
||||
public var position(default, null):Direction = Direction.TOP;
|
||||
|
||||
@@ -34,7 +36,7 @@ import ru.m.tankz.view.common.LifeView;
|
||||
public function onGameEvent(event:GameEvent):Void {
|
||||
switch event {
|
||||
case START(start):
|
||||
this.level.text = 'Level ${start.level.id}';
|
||||
this.level.text = start.level.toLevelLabel(true);
|
||||
refresh(start.state);
|
||||
case CHANGE(TEAM_LIFE(teamId, life)):
|
||||
getLifeView(teamId).life = life;
|
||||
|
||||
@@ -7,14 +7,12 @@ views:
|
||||
tank: bc
|
||||
color: 0xff4422
|
||||
- $type: haxework.view.SpriteView
|
||||
geometry.width: 25%
|
||||
geometry.width: 50%
|
||||
- id: level
|
||||
$type: haxework.view.form.LabelView
|
||||
style: text.box
|
||||
geometry.height: 38
|
||||
geometry.width: 50%
|
||||
- $type: haxework.view.SpriteView
|
||||
geometry.width: 25%
|
||||
geometry.width: 50%
|
||||
- id: dire
|
||||
$type: ru.m.tankz.view.common.LifeView
|
||||
tank: bc
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package ru.m.tankz.view.network;
|
||||
|
||||
import haxework.view.data.DataView;
|
||||
import haxework.view.form.ButtonView;
|
||||
import haxework.view.frame.FrameSwitcher;
|
||||
import haxework.view.frame.FrameView;
|
||||
import haxework.view.list.VListView;
|
||||
import haxework.view.text.TextView;
|
||||
import ru.m.tankz.game.GameInit;
|
||||
import ru.m.tankz.network.NetworkManager;
|
||||
@@ -16,7 +16,7 @@ import ru.m.tankz.proto.room.RoomSlotProto;
|
||||
|
||||
@:view var start:ButtonView;
|
||||
@:view var info:TextView;
|
||||
@:view var slots:VListView<RoomSlotProto>;
|
||||
@:view var slots:DataView<RoomSlotProto, SlotItemView>;
|
||||
|
||||
@:provide var switcher:FrameSwitcher;
|
||||
@:provide var network:NetworkManager;
|
||||
|
||||
@@ -34,6 +34,8 @@ views:
|
||||
geometry.height: 3
|
||||
style: line
|
||||
- id: slots
|
||||
$type: haxework.view.list.VListView
|
||||
$type: haxework.view.data.DataView
|
||||
layout.hAlign: center
|
||||
geometry.stretch: true
|
||||
overflow.y: scroll
|
||||
factory: ~ru.m.tankz.view.network.SlotItemView.factory
|
||||
|
||||
@@ -1,26 +1,20 @@
|
||||
---
|
||||
# geometry.width: 100%
|
||||
geometry.height: 48
|
||||
layout.margin: 10
|
||||
layout.hAlign: center
|
||||
views:
|
||||
- id: creator
|
||||
$type: haxework.view.form.LabelView
|
||||
geometry.height: 100%
|
||||
geometry.width: 200
|
||||
style: text.box
|
||||
- id: type
|
||||
$type: haxework.view.form.LabelView
|
||||
geometry.height: 100%
|
||||
geometry.width: 200
|
||||
style: text.box
|
||||
- id: users
|
||||
$type: haxework.view.form.LabelView
|
||||
geometry.height: 100%
|
||||
geometry.width: 150
|
||||
style: text.box
|
||||
- id: join
|
||||
$type: haxework.view.form.ButtonView
|
||||
geometry.height: 100%
|
||||
text: Join
|
||||
+onPress: ~join()
|
||||
|
||||
@@ -37,7 +37,10 @@ import ru.m.tankz.proto.room.RoomSlotProto;
|
||||
network.selectSlot(data.slot);
|
||||
}
|
||||
|
||||
public static function factory():SlotItemView {
|
||||
return new SlotItemView();
|
||||
public static function factory(index:Int, value:RoomSlotProto):SlotItemView {
|
||||
var result = new SlotItemView();
|
||||
result.index = index;
|
||||
result.data = value;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,14 @@
|
||||
---
|
||||
geometry.height: 48
|
||||
geometry.padding: 2
|
||||
layout.margin: 10
|
||||
views:
|
||||
- id: type
|
||||
$type: haxework.view.form.LabelView
|
||||
style: text.box
|
||||
geometry.height: 100%
|
||||
geometry.width: 150
|
||||
- $type: haxework.view.group.HGroupView
|
||||
layout.hAlign: center
|
||||
layout.vAlign: middle
|
||||
geometry.height: 100%
|
||||
geometry.width: 300
|
||||
views:
|
||||
- id: user
|
||||
|
||||
@@ -36,7 +36,6 @@ view:
|
||||
- id: username
|
||||
$type: haxework.view.form.InputView
|
||||
geometry.width: 100%
|
||||
geometry.height: 28
|
||||
style: text.box
|
||||
- $type: haxework.view.form.LabelView
|
||||
geometry.width: 100%
|
||||
@@ -47,7 +46,6 @@ view:
|
||||
$type: haxework.view.form.InputView
|
||||
textField.displayAsPassword: true
|
||||
geometry.width: 100%
|
||||
geometry.height: 28
|
||||
style: text.box
|
||||
visible: false
|
||||
- id: error
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
---
|
||||
geometry.margin: 5
|
||||
layout.margin: 5
|
||||
views:
|
||||
- id: action
|
||||
$type: haxework.view.form.LabelView
|
||||
geometry.width: 180
|
||||
geometry.height: 38
|
||||
style: text.box
|
||||
- id: key
|
||||
$type: haxework.view.form.LabelView
|
||||
geometry.width: 250
|
||||
geometry.height: 38
|
||||
style: text.box
|
||||
|
||||
@@ -25,5 +25,6 @@ views:
|
||||
$type: haxework.view.data.DataView
|
||||
layout:
|
||||
$type: haxework.view.layout.VerticalLayout
|
||||
margin: 5
|
||||
factory: ~viewFactory
|
||||
+onItemSelect: ~onItemSelect
|
||||
|
||||
@@ -16,7 +16,10 @@ class ServerLevelBundle implements ILevelBundle {
|
||||
var bytes = File.getBytes(path);
|
||||
return {
|
||||
id: id,
|
||||
data: LevelUtil.unpack(bytes),
|
||||
data: LevelUtil.unpack(bytes).map(function(level) {
|
||||
level.packId = id;
|
||||
return level;
|
||||
}),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user