[client] update to haxework

This commit is contained in:
2019-07-13 16:14:54 +03:00
parent 670a11d6ba
commit 5fe307a218
34 changed files with 235 additions and 259 deletions

View File

@@ -1,11 +1,15 @@
package ru.m.tankz;
import haxework.view.core.Geometry;
import haxework.view.core.HAlign;
import haxework.view.core.VAlign;
import haxework.view.geometry.Geometry;
import haxework.view.geometry.HAlign;
import haxework.view.geometry.VAlign;
import haxework.view.layout.Layout;
import haxework.view.skin.Skin;
import haxework.view.skin.SpriteSkin;
import haxework.view.theme.GeometryStyle;
import haxework.view.theme.ITheme;
import haxework.view.theme.LayoutStyle;
import haxework.view.theme.SkinStyle;
import haxework.view.theme.Theme;
import openfl.Assets;
import ru.m.skin.ButtonSVGSkin;
@@ -27,85 +31,52 @@ class AppTheme extends Theme {
override private function reload():Void {
super.reload();
data.put("light", [
Skin.color(colors.light),
styles.put("light", [
new SkinStyle(Skin.color(colors.light)),
]);
data.put("dark", [
Skin.color(colors.dark),
]);
data.put("font", [
Skin.text(colors.text, 0, font.name, font.embed),
]);
data.put("text", [
Skin.text(colors.text, baseFontSize, font.name, font.embed),
]);
data.put("scroll.vertical", [
Skin.scrollVertical(colors.light, colors.dark),
]);
data.put("text.header", [
Skin.color(0x000000, 0.1),
Skin.border(colors.light, 1, 2),
Skin.text(colors.text, bigFontSize, font.name, font.embed),
Skin.geometry(new Geometry().setPadding([50, 8]).setMargin([0, 0, 0, 30])),
]);
data.put("button.menu", [
Skin.buttonColor(colors.light),
Skin.text(colors.text, bigFontSize, font.name, font.embed),
Skin.size(250, 50),
]);
data.put("text.box", [
Skin.color(0x000000, 0.1),
Skin.border(colors.light, 1, 2),
Skin.text(colors.text, baseFontSize, font.name, font.embed),
]);
data.put("text.box.active", [
Skin.color(0x55aa55),
Skin.border(0x88dd88, 1, 2),
Skin.text(colors.text, baseFontSize, font.name, font.embed),
]);
data.put("button.active", [
Skin.buttonColor(colors.light, colors.active),
Skin.text(colors.active, baseFontSize, font.name, font.embed),
Skin.geometry(new Geometry().setPadding([25, 8])),
]);
data.put("button.tab", [
Skin.tabColor(colors.light),
Skin.text(colors.text, baseFontSize, font.name, font.embed),
Skin.geometry(new Geometry().setPadding([25, 8])),
]);
data.put("border", [
Skin.border(colors.border, 1, 2),
]);
data.put("scroll", [
Skin.scrollVertical(colors.light, colors.light.diff(128)),
]);
data.put("button.level", [
Skin.buttonColor(colors.light),
Skin.text(colors.text, veryBigFontSize, font.name, font.embed),
Skin.size(64, 64),
styles.put("dark", [
new SkinStyle(Skin.color(colors.dark)),
]);
styles.put("font", text());
styles.put("text.header", text(null, bigFontSize).concat([
new SkinStyle(new SpriteSkin({color: 0x000000, alpha: 0.1}, {color: colors.light})),
new GeometryStyle(new Geometry().setPadding([50, 8]).setMargin([0, 0, 0, 30]))
]));
styles.put("button.menu", text(null, bigFontSize).concat([
new SkinStyle(Skin.buttonColor(colors.light)),
new GeometryStyle(new Geometry().setSize(250, 50)),
]));
styles.put("text.box", text().concat([
new SkinStyle(new SpriteSkin({color: 0x000000, alpha: 0.1}, {color: colors.light})),
]));
styles.put("text.box.active", text().concat([
new SkinStyle(new SpriteSkin({color: 0x55aa55}, {color: 0x88dd88})),
]));
styles.put("button.level", text(null, veryBigFontSize).concat([
new SkinStyle(Skin.buttonColor(colors.light)),
new GeometryStyle(new Geometry().setSize(64, 64)),
]));
data.put("container", [
Skin.geometry(new Geometry().setSize("100%", "100%")),
Skin.layout(new Layout().setAlign(CENTER, MIDDLE)),
Skin.color(colors.dark),
styles.put("container", [
new GeometryStyle(new Geometry().setSize("100%", "100%")),
new LayoutStyle(new Layout().setAlign(CENTER, MIDDLE)),
new SkinStyle(Skin.color(colors.dark)),
]);
data.put("panel", [
Skin.geometry(new Geometry().setSize("100%", -1).setPadding([10, 5])),
Skin.layout(new Layout().setAlign(NONE, MIDDLE)),
Skin.color(colors.light),
styles.put("panel", [
new GeometryStyle(new Geometry().setSize("100%", -1).setPadding([10, 5])),
new LayoutStyle(new Layout().setAlign(NONE, MIDDLE)),
new SkinStyle(Skin.color(colors.light)),
]);
data.put("window", [
Skin.color(colors.dark),
Skin.border(colors.border, 1, 2),
Skin.geometry(new Geometry().setPadding(2)),
styles.put("window", [
new SkinStyle(new SpriteSkin({color: colors.dark}, {color: colors.border})),
new GeometryStyle(new Geometry().setPadding(2)),
]);
data.put("line", [
Skin.color(colors.border),
styles.put("line", [
new SkinStyle(Skin.color(colors.border)),
]);
data.put("window.close", [
Skin.size(36, 36),
new ButtonSVGSkin(Assets.getText("resources/image/icon/window-close-solid.svg"), colors.light),
styles.put("window.close", [
new GeometryStyle(new Geometry().setSize(36, 36)),
new SkinStyle(new ButtonSVGSkin(Assets.getText("resources/image/icon/window-close-solid.svg"), colors.light)),
]);
registerButton("settings", "cog-solid.svg");
registerButton("close", "times-circle-solid.svg");
@@ -116,13 +87,13 @@ class AppTheme extends Theme {
}
private function registerButton(name:String, resource:String):Void {
data.put('button.$name', [
Skin.size(42, 42),
new ButtonSVGSkin(Assets.getText('resources/image/icon/$resource'), colors.light),
styles.put('button.$name', [
new GeometryStyle(new Geometry().setSize(42, 42)),
new SkinStyle(new ButtonSVGSkin(Assets.getText('resources/image/icon/$resource'), colors.light)),
]);
data.put('button.$name.small', [
Skin.size(32, 32),
new ButtonSVGSkin(Assets.getText('resources/image/icon/$resource'), colors.light),
styles.put('button.$name.small', [
new GeometryStyle(new Geometry().setSize(32, 32)),
new SkinStyle(new ButtonSVGSkin(Assets.getText('resources/image/icon/$resource'), colors.light)),
]);
}

View File

@@ -5,7 +5,7 @@ import flash.display.Sprite;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.Lib;
import haxework.view.core.Size;
import haxework.view.geometry.Size;
import ru.m.tankz.AppTheme;
class Progress extends Sprite {

View File

@@ -65,14 +65,14 @@ class Render extends SpriteView implements IRender {
private function set_config(value:Config):Config {
config = value;
setContentSize(mapWidth, mapHeight, "render");
setSize(mapWidth, mapHeight, "render");
drawBackground();
return config;
}
private function set_gridSize(value:GridSize):GridSize {
gridSize = value;
setContentSize(mapWidth, mapHeight, "render");
setSize(mapWidth, mapHeight, "render");
drawBackground();
return gridSize;
}
@@ -263,7 +263,7 @@ class Render extends SpriteView implements IRender {
private function showScore(point:Point, score:Null<Int>):Void {
if (score != null && score != 0) {
var view:LabelView = new LabelView();
view.skinId = "text";
view.style = "text";
view.text = Std.string(score);
view.update();
view.redraw();

View File

@@ -2,8 +2,8 @@
views:
- $type: haxework.view.frame.FrameSwitcher
id: switcher
geometry.size.stretch: true
skinId: dark
geometry.stretch: true
style: dark
factory:
_start_: {$class: ru.m.tankz.view.StartFrame}
_level_: {$class: ru.m.tankz.view.LevelFrame}
@@ -14,30 +14,30 @@ views:
_room_list_: {$class: ru.m.tankz.view.network.RoomListFrame}
_room_: {$class: ru.m.tankz.view.network.RoomFrame}
- $type: haxework.view.group.HGroupView
skinId: panel
style: panel
layout.margin: 10
views:
- id: settings
$type: haxework.view.form.ButtonView
skinId: button.settings
style: button.settings
+onPress: ~switcher.change('settings')
- $type: haxework.view.SpriteView
geometry.size.width: 50%
geometry.width: 50%
- id: username
$type: haxework.view.form.LabelView
skinId: text
style: text
- id: login
$type: haxework.view.form.ButtonView
skinId: button.login
style: button.login
+onPress: ~login()
- id: logout
$type: haxework.view.form.ButtonView
skinId: button.logout
style: button.logout
+onPress: ~logout()
visible: false
- $type: haxework.view.SpriteView
geometry.size.width: 50%
geometry.width: 50%
- id: close
$type: haxework.view.form.ButtonView
skinId: button.close
style: button.close
+onPress: ~close()

View File

@@ -1,10 +1,10 @@
---
geometry.size.stretch: true
geometry.stretch: true
layout:
$type: haxework.view.layout.VerticalLayout
views:
- $type: haxework.view.group.VGroupView
skinId: container
style: container
layout.overflow: true
views:
- id: game
@@ -12,5 +12,5 @@ views:
- id: gamepad
$type: ru.m.tankz.view.GamepadView
geometry.position: absolute
geometry.size.stretch: true
geometry.stretch: true
visible: false

View File

@@ -59,7 +59,7 @@ class GamepadView extends SpriteView implements IControlDevice {
signal = new Signal2();
areas = [];
currentAreas = new Map();
skin = [new GamepadSkin(0x00ff00)];
skin = new GamepadSkin(0x00ff00);
content.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
content.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin);
}

View File

@@ -54,7 +54,7 @@ import ru.m.tankz.view.popup.LevelPopup;
private function levelViewFactory(index:Int, level:LevelConfig):ButtonView {
var progress = storage.get(pack.id);
var result = new ButtonView();
result.skinId = "button.level";
result.style = "button.level";
var presetsLine = [for (p in config.presets) progress.isPresetCompleted(level.id, p.id) ? '*' : '_'].join('');
result.text = '${level.id}\n${presetsLine}';
result.disabled = !progress.isLevelAvailable(level.id);

View File

@@ -1,19 +1,18 @@
---
views:
- $type: haxework.view.group.VGroupView
skinId: container
style: container
geometry.padding: 20
views:
- id: header
$type: haxework.view.form.LabelView
skinId: text.header
style: text.header
- $type: haxework.view.ScrollView
geometry.size.stretch: true
scroll.skinId: scroll.vertical
geometry.stretch: true
view:
id: levels
$type: haxework.view.data.DataView
geometry.size.width: 100%
geometry.width: 100%
layout:
$type: haxework.view.layout.TailLayout
rowSize: 10

View File

@@ -1,17 +1,16 @@
---
views:
- $type: haxework.view.group.VGroupView
skinId: container
style: container
geometry.padding: 20
views:
- $type: haxework.view.form.LabelView
skinId: text.header
style: text.header
text: Records
- id: data
$type: haxework.view.list.VListView
factory: ~function() return new ru.m.tankz.view.common.RecordView()
geometry.margin.top: 20
geometry.size.stretch: true
geometry.stretch: true
scroll:
$type: haxework.view.list.VScrollBarView
skinId: scroll

View File

@@ -1,12 +1,12 @@
---
views:
- $type: haxework.view.group.VGroupView
skinId: container
style: container
views:
- id: level
$type: haxework.view.form.LabelView
skinId: text.header
align: center
style: text.header
font.align: center
- id: result
$type: haxework.view.data.DataView
factory: ~playerViewFactory

View File

@@ -1,18 +1,17 @@
---
views:
- $type: haxework.view.group.VGroupView
skinId: container
style: container
geometry.padding: 20
views:
- $type: haxework.view.form.LabelView
skinId: text.header
style: text.header
text: Settings
- $type: haxework.view.ScrollView
geometry.size.stretch: true
scroll.skinId: scroll.vertical
geometry.stretch: true
view:
$type: haxework.view.group.GroupView
geometry.size.stretch: true
geometry.stretch: true
layout:
$type: haxework.view.layout.TailLayout
vAlign: top

View File

@@ -1,33 +1,33 @@
---
views:
- $type: haxework.view.group.VGroupView
skinId: container
style: container
layout.margin: 10
views:
- $type: haxework.view.form.LabelView
text: Tank'z
skinId: font
fontSize: 100
style: font
font.size: 100
geometry.margin.bottom: 30
- $type: haxework.view.form.ButtonView
skinId: button.menu
style: button.menu
+onPress: ~startGame('classic')
text: Classic
- $type: haxework.view.form.ButtonView
skinId: button.menu
style: button.menu
+onPress: ~startGame('dota')
text: DotA
- $type: haxework.view.form.ButtonView
skinId: button.menu
style: button.menu
+onPress: ~startGame('death')
text: DeathMatch
- $type: haxework.view.form.ButtonView
skinId: button.menu
style: button.menu
+onPress: ~switcher.change('record')
text: Records
- id: network
$type: haxework.view.form.ButtonView
skinId: button.menu
style: button.menu
+onPress: ~startNetwork()
text: Network
- $type: haxework.view.form.LabelView
@@ -36,5 +36,5 @@ views:
geometry.padding: [20, 5]
geometry.position: absolute
geometry.margin: [0, 20, 20, 0]
skinId: text.box
style: text.box
text: $r:text:version

View File

@@ -5,9 +5,11 @@ views:
$type: haxework.view.ImageView
- id: life
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.fixed: [50, 38]
style: text.box
geometry.width: 50
geometry.height: 38
- id: score
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.fixed: [100, 38]
style: text.box
geometry.width: 100
geometry.height: 38

View File

@@ -1,29 +1,33 @@
---
geometry.size.height: 38
geometry.height: 38
layout.margin: 5
layout.vAlign: middle
views:
- id: play
$type: haxework.view.form.ButtonView
skinId: button.start.small
style: button.start.small
+onPress: ~play()
- id: date
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.fixed: [250, 38]
style: text.box
geometry.width: 250
geometry.height: 38
- id: type
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.fixed: [250, 38]
style: text.box
geometry.width: 250
geometry.height: 38
- id: level
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.fixed: [50, 38]
style: text.box
geometry.width: 250
geometry.height: 38
- id: preset
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.fixed: [50, 38]
style: text.box
geometry.width: 250
geometry.height: 38
- id: delete
$type: haxework.view.form.ButtonView
skinId: button.close.small
style: button.close.small
+onPress: ~delete()

View File

@@ -16,7 +16,8 @@ import ru.m.tankz.control.PlayerControl;
private function set_control(value:PlayerControl):PlayerControl {
control = value;
slotLabel.text = '${control.playerId.team}(${control.playerId.index})';
slotLabel.skin = theme.textBox(value.color != null ? value.color : theme.colors.text);
// ToDo: style
//slotLabel.skin = theme.textBox(value.color != null ? value.color : theme.colors.text);
select.selected = control.controller;
return control;
}

View File

@@ -1,13 +1,13 @@
---
geometry.size.height: 48
geometry.height: 48
geometry.padding: 2
layout.margin: 10
views:
- id: slot
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.height: 100%
geometry.size.width: 150
style: text.box
geometry.height: 100%
geometry.width: 150
- id: select
$type: haxework.view.form.SelectView<ru.m.tankz.control.Controller>
labelBuilder: |

View File

@@ -1,16 +1,16 @@
---
geometry.padding: 5
geometry.size.height: 100%
geometry.height: 100%
layout.margin: 5
layout.hAlign: left
views:
- id: level
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.height: 38
geometry.size.width: 100%
style: text.box
geometry.height: 38
geometry.width: 100%
- $type: haxework.view.SpriteView
geometry.size.height: 50%
geometry.height: 50%
- id: bot
$type: ru.m.tankz.view.common.LifeView
tank: ba

View File

@@ -1,16 +1,16 @@
---
geometry.padding: 5
geometry.size.height: 100%
geometry.height: 100%
layout.margin: 5
layout.hAlign: right
views:
- id: level
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.height: 38
geometry.size.width: 100%
style: text.box
geometry.height: 38
geometry.width: 100%
- $type: haxework.view.SpriteView
geometry.size.height: 50%
geometry.height: 50%
- id: players
$type: haxework.view.data.DataView
layout:

View File

@@ -1,5 +1,5 @@
---
geometry.size.width: 100%
geometry.width: 100%
layout.margin: 20
views:
- id: radiant
@@ -7,14 +7,14 @@ views:
tank: bc
color: 0xff4422
- $type: haxework.view.SpriteView
geometry.size.width: 25%
geometry.width: 25%
- id: level
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.height: 38
geometry.size.width: 50%
style: text.box
geometry.height: 38
geometry.width: 50%
- $type: haxework.view.SpriteView
geometry.size.width: 25%
geometry.width: 25%
- id: dire
$type: ru.m.tankz.view.common.LifeView
tank: bc

View File

@@ -3,20 +3,20 @@ views:
- id: top
$type: haxework.view.group.GroupView
layout.hAlign: center
geometry.size.width: 100%
geometry.width: 100%
- $type: haxework.view.group.HGroupView
views:
- id: left
$type: haxework.view.group.GroupView
layout.vAlign: middle
geometry.size.height: 100%
geometry.height: 100%
- id: render
$type: ru.m.tankz.render.Render
- id: right
$type: haxework.view.group.GroupView
layout.vAlign: middle
geometry.size.height: 100%
geometry.height: 100%
- id: bottom
$type: haxework.view.group.GroupView
layout.hAlign: center
geometry.size.width: 100%
geometry.width: 100%

View File

@@ -1,17 +1,17 @@
---
geometry.size.stretch: true
geometry.stretch: true
layout:
$type: haxework.view.layout.VerticalLayout
views:
- $type: haxework.view.group.VGroupView
skinId: container
style: container
geometry.padding: 20
layout.margin: 10
views:
- id: header
$type: haxework.view.form.LabelView
geometry.margin.bottom: 20
skinId: text.header
style: text.header
text: Game Room
- $type: haxework.view.group.HGroupView
layout.margin: 10
@@ -19,7 +19,7 @@ views:
- id: info
$type: haxework.view.form.LabelView
geometry.padding: [30, 10]
skinId: text.box
style: text.box
- id: start
$type: haxework.view.form.ButtonView
text: Start
@@ -30,10 +30,10 @@ views:
text: Leave
+onPress: ~network.leaveGame()
- $type: haxework.view.SpriteView
geometry.size.width: 100%
geometry.size.height: 3
skinId: line
geometry.width: 100%
geometry.height: 3
style: line
- id: slots
$type: haxework.view.list.VListView
geometry.size.stretch: true
geometry.stretch: true
factory: ~ru.m.tankz.view.network.SlotItemView.factory

View File

@@ -22,7 +22,7 @@ import ru.m.tankz.proto.room.RoomProto;
private function set_data(value:RoomProto):RoomProto {
data = value;
creatorView.skinId = value.creator.uuid == network.user.uuid ? "text.box.active" : "text.box";
creatorView.style = value.creator.uuid == network.user.uuid ? "text.box.active" : "text.box";
creatorView.text = value.creator.name;
typeView.text = '${value.game.type} #${value.game.level}';
var used = value.slots.filter(function(slot:RoomSlotProto) return slot.hasUser()).length;

View File

@@ -1,26 +1,26 @@
---
# geometry.size.width: 100%
geometry.size.height: 48
# geometry.width: 100%
geometry.height: 48
layout.margin: 10
layout.hAlign: center
views:
- id: creator
$type: haxework.view.form.LabelView
geometry.size.height: 100%
geometry.size.width: 200
skinId: text.box
geometry.height: 100%
geometry.width: 200
style: text.box
- id: type
$type: haxework.view.form.LabelView
geometry.size.height: 100%
geometry.size.width: 200
skinId: text.box
geometry.height: 100%
geometry.width: 200
style: text.box
- id: users
$type: haxework.view.form.LabelView
geometry.size.height: 100%
geometry.size.width: 150
skinId: text.box
geometry.height: 100%
geometry.width: 150
style: text.box
- id: join
$type: haxework.view.form.ButtonView
geometry.size.height: 100%
geometry.height: 100%
text: Join
+onPress: ~join()

View File

@@ -1,22 +1,22 @@
---
geometry.size.stretch: true
geometry.stretch: true
layout:
$type: haxework.view.layout.VerticalLayout
views:
- $type: haxework.view.group.VGroupView
skinId: container
style: container
geometry.padding: 20
views:
- id: header
$type: haxework.view.form.LabelView
geometry.margin.bottom: 20
skinId: text.header
style: text.header
text: Games List
- $type: haxework.view.form.ButtonView
text: Create
+onPress: ~create()
- id: games
$type: haxework.view.list.VListView
geometry.size.stretch: true
geometry.stretch: true
factory: ~ru.m.tankz.view.network.RoomItemView.factory
geometry.margin: 10

View File

@@ -26,11 +26,12 @@ import ru.m.tankz.proto.room.RoomSlotProto;
userView.text = value.hasUser() ? value.user.name : "(NONE)";
userView.visible = value.hasUser();
selectButton.visible = !value.hasUser();
userView.skinId = (value.hasUser() && value.user.uuid == network.user.uuid) ? "text.box.active" : "text.box";
userView.style = (value.hasUser() && value.user.uuid == network.user.uuid) ? "text.box.active" : "text.box";
var config = configBundle.get(network.room.game.type);
var color = config.getColor([value.slot.team, value.slot.index]);
if (color != null) {
typeView.skin = theme.textBox(color);
// ToDo: style
//typeView.skin = theme.textBox(color);
}
return data;
}

View File

@@ -1,23 +1,23 @@
---
geometry.size.height: 48
geometry.height: 48
geometry.padding: 2
layout.margin: 10
views:
- id: type
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.height: 100%
geometry.size.width: 150
style: text.box
geometry.height: 100%
geometry.width: 150
- $type: haxework.view.group.HGroupView
layout.hAlign: center
layout.vAlign: middle
geometry.size.height: 100%
geometry.size.width: 300
geometry.height: 100%
geometry.width: 300
views:
- id: user
$type: haxework.view.form.LabelView
geometry.size.stretch: true
skinId: text.box
geometry.stretch: true
style: text.box
- id: select
$type: haxework.view.form.ButtonView
text: Select

View File

@@ -51,7 +51,7 @@ private typedef Result = {
private function levelViewFactory(index:Int, value:LevelConfig):ToggleButtonView {
var result = new ToggleButtonView();
result.skinId = "button.level";
result.style = "button.level";
result.text = Std.string(value.id);
return result;
}

View File

@@ -4,38 +4,38 @@ layout.vAlign: middle
view:
$type: haxework.view.group.VGroupView
layout.hAlign: center
geometry.size.stretch: true
geometry.stretch: true
geometry.margin: 10
skinId: window
style: window
views:
- $type: haxework.view.group.HGroupView
geometry.size.width: 100%
geometry.width: 100%
geometry.padding: 10
layout.vAlign: middle
views:
- id: name
$type: haxework.view.form.LabelView
geometry.size.width: 100%
geometry.width: 100%
geometry.margin.left: 10
layout.hAlign: left
skinId: text
style: text
text: New game
- $type: haxework.view.form.ButtonView
skinId: window.close
style: window.close
+onPress: ~reject('close')
- $type: haxework.view.group.VGroupView
geometry.size.stretch: true
geometry.stretch: true
geometry.padding: [5, 20]
layout.margin: 5
layout.hAlign: center
views:
- $type: haxework.view.form.LabelView
geometry.size.width: 100%
skinId: text
geometry.width: 100%
style: text
text: Type
- id: type
$type: haxework.view.data.DataView
geometry.size.width: 100%
geometry.width: 100%
layout:
$type: haxework.view.layout.TailLayout
margin: 10
@@ -46,16 +46,15 @@ view:
- "dota"
- "death"
- $type: haxework.view.form.LabelView
geometry.size.width: 100%
skinId: text
geometry.width: 100%
style: text
text: Level
- $type: haxework.view.ScrollView
geometry.size.stretch: true
scroll.skinId: scroll.vertical
geometry.stretch: true
view:
id: level
$type: haxework.view.data.DataView
geometry.size.width: 100%
geometry.width: 100%
layout:
$type: haxework.view.layout.TailLayout
rowSize: 10
@@ -66,7 +65,7 @@ view:
- $type: haxework.view.group.HGroupView
layout.hAlign: center
layout.margin: 5
skinId: panel
style: panel
views:
- $type: haxework.view.form.ButtonView
text: Create

View File

@@ -62,7 +62,7 @@ private typedef Result = {
private function presetViewFactory(index:Int, value:GamePreset):ButtonView {
var result = new ButtonView();
result.skinId = 'button${!progress.isPresetCompleted(level.id, value.id) ? ".active" : ""}';
result.style = 'button${!progress.isPresetCompleted(level.id, value.id) ? ".active" : ""}';
result.text = value.name;
result.disabled = !progress.isPresetAvailable(level.id, value.id);
return result;

View File

@@ -4,29 +4,28 @@ layout.vAlign: middle
view:
$type: haxework.view.group.VGroupView
layout.hAlign: center
geometry.size.width: 400
geometry.size.height: 400
geometry.width: 400
geometry.height: 400
geometry.margin: 10
skinId: window
style: window
views:
- $type: haxework.view.group.HGroupView
geometry.size.width: 100%
geometry.width: 100%
geometry.padding: 10
layout.vAlign: middle
views:
- id: name
$type: haxework.view.form.LabelView
geometry.size.width: 100%
geometry.width: 100%
geometry.margin.left: 10
layout.hAlign: left
skinId: text
style: text
- $type: haxework.view.form.ButtonView
skinId: window.close
style: window.close
+onPress: ~reject('close')
- $type: haxework.view.ScrollView
geometry.size.stretch: true
geometry.stretch: true
layout.hAlign: center
scroll.skinId: scroll.vertical
view:
id: slots
$type: haxework.view.data.DataView
@@ -44,4 +43,4 @@ view:
$type: haxework.view.layout.HorizontalLayout
hAlign: center
margin: 5
skinId: panel
style: panel

View File

@@ -4,61 +4,61 @@ layout.vAlign: middle
view:
$type: haxework.view.group.VGroupView
layout.hAlign: center
geometry.size.width: 400
# geometry.size.height: 400
skinId: window
geometry.width: 400
# geometry.height: 400
style: window
views:
- $type: haxework.view.group.HGroupView
geometry.size.width: 100%
geometry.width: 100%
geometry.padding: 10
layout.vAlign: middle
views:
- id: name
$type: haxework.view.form.LabelView
geometry.size.width: 100%
geometry.width: 100%
geometry.margin.left: 10
layout.hAlign: left
skinId: text
style: text
text: Login
- $type: haxework.view.form.ButtonView
skinId: window.close
style: window.close
+onPress: ~reject('close')
- $type: haxework.view.group.VGroupView
geometry.size.width: 100%
# geometry.size.stretch: true
geometry.width: 100%
# geometry.stretch: true
geometry.padding: 20
layout.margin: 5
views:
- $type: haxework.view.form.LabelView
geometry.size.width: 100%
skinId: text
geometry.width: 100%
style: text
text: Username
- id: username
$type: haxework.view.form.InputView
geometry.size.width: 100%
geometry.size.height: 28
skinId: text.box
geometry.width: 100%
geometry.height: 28
style: text.box
- $type: haxework.view.form.LabelView
geometry.size.width: 100%
skinId: text
geometry.width: 100%
style: text
text: Password
visible: false
- id: password
$type: haxework.view.form.InputView
textField.displayAsPassword: true
geometry.size.width: 100%
geometry.size.height: 28
skinId: text.box
geometry.width: 100%
geometry.height: 28
style: text.box
visible: false
- id: error
$type: haxework.view.text.TextView
geometry.size.width: 100%
skinId: text
geometry.width: 100%
style: text
fill: false
- $type: haxework.view.group.HGroupView
layout.hAlign: center
layout.margin: 5
skinId: panel
style: panel
views:
- $type: haxework.view.form.ButtonView
text: Submit

View File

@@ -72,7 +72,7 @@ class KeyboardMap {
private function set_edit(value:Bool):Bool {
if (edit != value) {
edit = value;
action.skinId = key.skinId = edit ? "text.box.active" : "text.box";
action.style = key.style = edit ? "text.box.active" : "text.box";
}
return edit;
}

View File

@@ -4,9 +4,11 @@ layout.margin: 5
views:
- id: action
$type: haxework.view.form.LabelView
geometry.size.fixed: [180, 38]
skinId: text.box
geometry.width: 180
geometry.height: 38
style: text.box
- id: key
$type: haxework.view.form.LabelView
geometry.size.fixed: [250, 38]
skinId: text.box
geometry.width: 250
geometry.height: 38
style: text.box

View File

@@ -1,17 +1,17 @@
layout.margin: 10
layout.hAlign: center
geometry.size.width: 400
geometry.width: 400
views:
- id: label
$type: haxework.view.form.LabelView
skinId: text
style: text
- id: panel
$type: haxework.view.group.GroupView
layout:
$type: haxework.view.layout.TailLayout
rowSize: 2
margin: 10
geometry.size.width: 100%
geometry.width: 100%
views:
- $type: haxework.view.form.ButtonView
+onPress: ~screen()