[client] update to haxework

This commit is contained in:
2019-07-10 19:59:02 +03:00
parent 1ec1c3baae
commit 670a11d6ba
50 changed files with 187 additions and 287 deletions

View File

@@ -3,7 +3,7 @@ package ru.m.skin;
import format.SVG;
import haxework.color.Color;
import haxework.color.ColorUtil;
import haxework.view.ButtonView;
import haxework.view.form.ButtonView;
import haxework.view.skin.ISkin;
class ButtonSVGSkin implements ISkin<ButtonView> {

View File

@@ -23,88 +23,87 @@ class AppTheme extends Theme {
public function new() {
super({embed: true}, COLORS);
data.set("light", [
}
override private function reload():Void {
super.reload();
data.put("light", [
Skin.color(colors.light),
]);
data.set("dark", [
data.put("dark", [
Skin.color(colors.dark),
]);
data.set("font", [
data.put("font", [
Skin.text(colors.text, 0, font.name, font.embed),
]);
data.set("text", [
data.put("text", [
Skin.text(colors.text, baseFontSize, font.name, font.embed),
]);
data.set("scroll.vertical", [
data.put("scroll.vertical", [
Skin.scrollVertical(colors.light, colors.dark),
]);
data.set("text.header", [
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.set("button", [
data.put("button.menu", [
Skin.buttonColor(colors.light),
Skin.text(colors.text, bigFontSize, font.name, font.embed),
Skin.size(250, 50),
]);
data.set("text.box", [
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.set("text.box.active", [
data.put("text.box.active", [
Skin.color(0x55aa55),
Skin.border(0x88dd88, 1, 2),
Skin.text(colors.text, baseFontSize, font.name, font.embed),
]);
data.set("button.simple", [
Skin.buttonColor(colors.light),
Skin.text(colors.text, baseFontSize, font.name, font.embed),
Skin.geometry(new Geometry().setPadding([25, 8])),
]);
data.set("button.simple.active", [
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.set("button.tab", [
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.set("border", [
data.put("border", [
Skin.border(colors.border, 1, 2),
]);
data.set("scroll", [
data.put("scroll", [
Skin.scrollVertical(colors.light, colors.light.diff(128)),
]);
data.set("button.level", [
data.put("button.level", [
Skin.buttonColor(colors.light),
Skin.text(colors.text, veryBigFontSize, font.name, font.embed),
Skin.size(64, 64),
]);
data.set("container", [
data.put("container", [
Skin.geometry(new Geometry().setSize("100%", "100%")),
Skin.layout(new Layout().setAlign(CENTER, MIDDLE)),
Skin.color(colors.dark),
]);
data.set("panel", [
data.put("panel", [
Skin.geometry(new Geometry().setSize("100%", -1).setPadding([10, 5])),
Skin.layout(new Layout().setAlign(NONE, MIDDLE)),
Skin.color(colors.light),
]);
data.set("window", [
data.put("window", [
Skin.color(colors.dark),
Skin.border(colors.border, 1, 2),
Skin.geometry(new Geometry().setPadding(2)),
]);
data.set("line", [
data.put("line", [
Skin.color(colors.border),
]);
data.set("window.close", [
data.put("window.close", [
Skin.size(36, 36),
new ButtonSVGSkin(Assets.getText("resources/image/icon/window-close-solid.svg"), colors.light),
]);
@@ -117,11 +116,11 @@ class AppTheme extends Theme {
}
private function registerButton(name:String, resource:String):Void {
data.set('button.$name', [
data.put('button.$name', [
Skin.size(42, 42),
new ButtonSVGSkin(Assets.getText('resources/image/icon/$resource'), colors.light),
]);
data.set('button.$name.small', [
data.put('button.$name.small', [
Skin.size(32, 32),
new ButtonSVGSkin(Assets.getText('resources/image/icon/$resource'), colors.light),
]);

View File

@@ -5,7 +5,7 @@ import flash.display.Graphics;
import flash.display.Sprite;
import flash.events.Event;
import haxe.Timer;
import haxework.view.LabelView;
import haxework.view.form.LabelView;
import haxework.view.SpriteView;
import promhx.Promise;
import ru.m.animate.Animate;

View File

@@ -3,10 +3,10 @@ package ru.m.tankz.view;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import haxework.resources.IResources;
import haxework.view.ButtonView;
import haxework.view.form.ButtonView;
import haxework.view.frame.FrameSwitcher;
import haxework.view.LabelView;
import haxework.view.VGroupView;
import haxework.view.form.LabelView;
import haxework.view.group.VGroupView;
import ru.m.tankz.game.IGame;
import ru.m.tankz.network.NetworkManager;
import ru.m.tankz.sound.SoundManager;

View File

@@ -13,31 +13,31 @@ views:
_record_: {$class: ru.m.tankz.view.RecordFrame}
_room_list_: {$class: ru.m.tankz.view.network.RoomListFrame}
_room_: {$class: ru.m.tankz.view.network.RoomFrame}
- $type: haxework.view.HGroupView
- $type: haxework.view.group.HGroupView
skinId: panel
layout.margin: 10
views:
- id: settings
$type: haxework.view.ButtonView
$type: haxework.view.form.ButtonView
skinId: button.settings
+onPress: ~switcher.change('settings')
- $type: haxework.view.SpriteView
geometry.size.width: 50%
- id: username
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
skinId: text
- id: login
$type: haxework.view.ButtonView
$type: haxework.view.form.ButtonView
skinId: button.login
+onPress: ~login()
- id: logout
$type: haxework.view.ButtonView
$type: haxework.view.form.ButtonView
skinId: button.logout
+onPress: ~logout()
visible: false
- $type: haxework.view.SpriteView
geometry.size.width: 50%
- id: close
$type: haxework.view.ButtonView
$type: haxework.view.form.ButtonView
skinId: button.close
+onPress: ~close()

View File

@@ -3,7 +3,7 @@ geometry.size.stretch: true
layout:
$type: haxework.view.layout.VerticalLayout
views:
- $type: haxework.view.VGroupView
- $type: haxework.view.group.VGroupView
skinId: container
layout.overflow: true
views:

View File

@@ -1,10 +1,10 @@
package ru.m.tankz.view;
import haxework.view.ButtonView;
import haxework.view.DataView;
import haxework.view.form.ButtonView;
import haxework.view.data.DataView;
import haxework.view.frame.FrameSwitcher;
import haxework.view.frame.FrameView;
import haxework.view.LabelView;
import haxework.view.form.LabelView;
import ru.m.tankz.bundle.IConfigBundle;
import ru.m.tankz.config.Config;
import ru.m.tankz.control.Controller;

View File

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

View File

@@ -1,10 +1,10 @@
---
views:
- $type: haxework.view.VGroupView
- $type: haxework.view.group.VGroupView
skinId: container
geometry.padding: 20
views:
- $type: haxework.view.LabelView
- $type: haxework.view.form.LabelView
skinId: text.header
text: Records
- id: data

View File

@@ -1,10 +1,10 @@
package ru.m.tankz.view;
import haxework.view.ButtonView;
import haxework.view.DataView;
import haxework.view.form.ButtonView;
import haxework.view.data.DataView;
import haxework.view.frame.FrameSwitcher;
import haxework.view.frame.FrameView;
import haxework.view.LabelView;
import haxework.view.form.LabelView;
import ru.m.tankz.bundle.ILevelBundle;
import ru.m.tankz.game.GameEvent;
import ru.m.tankz.game.GameInit;

View File

@@ -1,36 +1,33 @@
---
views:
- $type: haxework.view.VGroupView
- $type: haxework.view.group.VGroupView
skinId: container
views:
- id: level
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
skinId: text.header
align: center
- id: result
$type: haxework.view.DataView
$type: haxework.view.data.DataView
factory: ~playerViewFactory
geometry.margin.top: 20
layout:
$type: haxework.view.layout.VerticalLayout
hAlign: right
margin: 10
- $type: haxework.view.HGroupView
- $type: haxework.view.group.HGroupView
layout.margin: 10
geometry.padding: 10
views:
- id: levels
$type: haxework.view.ButtonView
skinId: button.simple
$type: haxework.view.form.ButtonView
text: Levels
+onPress: ~levels()
- id: restart
$type: haxework.view.ButtonView
skinId: button.simple
$type: haxework.view.form.ButtonView
text: Restart
+onPress: ~restart()
- id: next
$type: haxework.view.ButtonView
skinId: button.simple
$type: haxework.view.form.ButtonView
text: Next
+onPress: ~next()

View File

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

View File

@@ -9,7 +9,6 @@ import ru.m.tankz.network.NetworkManager;
import ru.m.tankz.Type;
import ru.m.tankz.view.network.RoomFrame;
import ru.m.tankz.view.network.RoomListFrame;
import ru.m.tankz.view.popup.FontPopup;
import ru.m.tankz.view.popup.LoginPopup;
@:template class StartFrame extends FrameView<Void> {
@@ -21,8 +20,6 @@ import ru.m.tankz.view.popup.LoginPopup;
@:provide var network:NetworkManager;
@:provide var levelBundle:ILevelBundle;
private var fontPopup:FontPopup;
public function new() {
super(ID);
}
@@ -50,15 +47,4 @@ import ru.m.tankz.view.popup.LoginPopup;
case _:
}
}
private function choiceFont():Void {
if (fontPopup == null) {
fontPopup = new FontPopup();
}
// ToDo: update Them
/*fontPopup
.show()
.then(function(font) AppTheme.register(font))
.catchError(function(e) {});*/
}
}

View File

@@ -1,37 +1,36 @@
---
views:
- $type: haxework.view.VGroupView
- $type: haxework.view.group.VGroupView
skinId: container
layout.margin: 10
views:
- $type: haxework.view.LabelView
- $type: haxework.view.form.LabelView
text: Tank'z
skinId: font
fontSize: 100
geometry.margin.bottom: 30
- $type: haxework.view.ButtonView
skinId: button
- $type: haxework.view.form.ButtonView
skinId: button.menu
+onPress: ~startGame('classic')
text: Classic
- $type: haxework.view.ButtonView
skinId: button
- $type: haxework.view.form.ButtonView
skinId: button.menu
+onPress: ~startGame('dota')
text: DotA
- $type: haxework.view.ButtonView
skinId: button
- $type: haxework.view.form.ButtonView
skinId: button.menu
+onPress: ~startGame('death')
text: DeathMatch
- $type: haxework.view.ButtonView
skinId: button
- $type: haxework.view.form.ButtonView
skinId: button.menu
+onPress: ~switcher.change('record')
text: Records
- id: network
$type: haxework.view.ButtonView
skinId: button
$type: haxework.view.form.ButtonView
skinId: button.menu
+onPress: ~startNetwork()
text: Network
#disabled: true
- $type: haxework.view.LabelView
- $type: haxework.view.form.LabelView
geometry.hAlign: right
geometry.vAlign: top
geometry.padding: [20, 5]

View File

@@ -1,9 +1,9 @@
package ru.m.tankz.view.common;
import haxework.color.Color;
import haxework.view.HGroupView;
import haxework.view.group.HGroupView;
import haxework.view.ImageView;
import haxework.view.LabelView;
import haxework.view.form.LabelView;
import openfl.Assets;
import ru.m.tankz.game.GameState;
import ru.m.tankz.Type;

View File

@@ -4,10 +4,10 @@ views:
- id: tank
$type: haxework.view.ImageView
- id: life
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.fixed: [50, 38]
- id: score
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.fixed: [100, 38]

View File

@@ -1,8 +1,8 @@
package ru.m.tankz.view.common;
import haxework.view.frame.FrameSwitcher;
import haxework.view.HGroupView;
import haxework.view.LabelView;
import haxework.view.group.HGroupView;
import haxework.view.form.LabelView;
import haxework.view.list.ListView;
import ru.m.tankz.game.GameInit;
import ru.m.tankz.game.record.GameRecord;

View File

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

View File

@@ -1,8 +1,8 @@
package ru.m.tankz.view.common;
import haxework.view.HGroupView;
import haxework.view.LabelView;
import haxework.view.SelectView;
import haxework.view.group.HGroupView;
import haxework.view.form.LabelView;
import haxework.view.form.SelectView;
import ru.m.tankz.control.Controller;
import ru.m.tankz.control.PlayerControl;

View File

@@ -4,13 +4,12 @@ geometry.padding: 2
layout.margin: 10
views:
- id: slot
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.height: 100%
geometry.size.width: 150
- id: select
$type: haxework.view.SelectView<ru.m.tankz.control.Controller>
labelSkinId: text.box
$type: haxework.view.form.SelectView<ru.m.tankz.control.Controller>
labelBuilder: |
~function(controller) {
var result = ControllerParser.defaultName(controller);

View File

@@ -1,7 +1,7 @@
package ru.m.tankz.view.game;
import haxework.view.LabelView;
import haxework.view.VGroupView;
import haxework.view.form.LabelView;
import haxework.view.group.VGroupView;
import ru.m.geom.Direction;
import ru.m.tankz.game.GameEvent;
import ru.m.tankz.game.GameState;

View File

@@ -5,7 +5,7 @@ layout.margin: 5
layout.hAlign: left
views:
- id: level
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.height: 38
geometry.size.width: 100%

View File

@@ -1,8 +1,8 @@
package ru.m.tankz.view.game;
import haxework.view.DataView;
import haxework.view.LabelView;
import haxework.view.VGroupView;
import haxework.view.data.DataView;
import haxework.view.form.LabelView;
import haxework.view.group.VGroupView;
import ru.m.geom.Direction;
import ru.m.tankz.bundle.IConfigBundle;
import ru.m.tankz.game.GameEvent;

View File

@@ -5,14 +5,14 @@ layout.margin: 5
layout.hAlign: right
views:
- id: level
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.height: 38
geometry.size.width: 100%
- $type: haxework.view.SpriteView
geometry.size.height: 50%
- id: players
$type: haxework.view.DataView
$type: haxework.view.data.DataView
layout:
$type: haxework.view.layout.VerticalLayout
factory: ~ru.m.tankz.view.common.LifeView.factory

View File

@@ -1,7 +1,7 @@
package ru.m.tankz.view.game;
import haxework.view.HGroupView;
import haxework.view.LabelView;
import haxework.view.group.HGroupView;
import haxework.view.form.LabelView;
import ru.m.geom.Direction;
import ru.m.tankz.game.GameEvent;
import ru.m.tankz.game.GameState;

View File

@@ -9,7 +9,7 @@ views:
- $type: haxework.view.SpriteView
geometry.size.width: 25%
- id: level
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.height: 38
geometry.size.width: 50%

View File

@@ -1,7 +1,7 @@
package ru.m.tankz.view.game;
import haxework.view.IGroupView;
import haxework.view.VGroupView;
import haxework.view.group.IGroupView;
import haxework.view.group.VGroupView;
import ru.m.geom.Direction;
import ru.m.tankz.preset.ClassicGame;
import ru.m.tankz.preset.DeathGame;

View File

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

View File

@@ -1,10 +1,10 @@
package ru.m.tankz.view.network;
import haxework.view.ButtonView;
import haxework.view.form.ButtonView;
import haxework.view.frame.FrameSwitcher;
import haxework.view.frame.FrameView;
import haxework.view.list.VListView;
import haxework.view.TextView;
import haxework.view.text.TextView;
import ru.m.tankz.game.GameInit;
import ru.m.tankz.network.NetworkManager;
import ru.m.tankz.proto.room.RoomProto;

View File

@@ -3,32 +3,30 @@ geometry.size.stretch: true
layout:
$type: haxework.view.layout.VerticalLayout
views:
- $type: haxework.view.VGroupView
- $type: haxework.view.group.VGroupView
skinId: container
geometry.padding: 20
layout.margin: 10
views:
- id: header
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
geometry.margin.bottom: 20
skinId: text.header
text: Game Room
- $type: haxework.view.HGroupView
- $type: haxework.view.group.HGroupView
layout.margin: 10
views:
- id: info
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
geometry.padding: [30, 10]
skinId: text.box
- id: start
$type: haxework.view.ButtonView
skinId: button.simple
$type: haxework.view.form.ButtonView
text: Start
+onPress: ~network.startGame()
visible: false
- id: leave
$type: haxework.view.ButtonView
skinId: button.simple
$type: haxework.view.form.ButtonView
text: Leave
+onPress: ~network.leaveGame()
- $type: haxework.view.SpriteView

View File

@@ -2,9 +2,9 @@ package ru.m.tankz.view.network;
import ru.m.tankz.network.NetworkManager;
import ru.m.tankz.proto.room.RoomSlotProto;
import haxework.view.ButtonView;
import haxework.view.HGroupView;
import haxework.view.LabelView;
import haxework.view.form.ButtonView;
import haxework.view.group.HGroupView;
import haxework.view.form.LabelView;
import haxework.view.list.ListView;
import ru.m.tankz.proto.room.RoomProto;

View File

@@ -5,23 +5,22 @@ layout.margin: 10
layout.hAlign: center
views:
- id: creator
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
geometry.size.height: 100%
geometry.size.width: 200
skinId: text.box
- id: type
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
geometry.size.height: 100%
geometry.size.width: 200
skinId: text.box
- id: users
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
geometry.size.height: 100%
geometry.size.width: 150
skinId: text.box
- id: join
$type: haxework.view.ButtonView
$type: haxework.view.form.ButtonView
geometry.size.height: 100%
skinId: button.simple
text: Join
+onPress: ~join()

View File

@@ -3,17 +3,16 @@ geometry.size.stretch: true
layout:
$type: haxework.view.layout.VerticalLayout
views:
- $type: haxework.view.VGroupView
- $type: haxework.view.group.VGroupView
skinId: container
geometry.padding: 20
views:
- id: header
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
geometry.margin.bottom: 20
skinId: text.header
text: Games List
- $type: haxework.view.ButtonView
skinId: button.simple
- $type: haxework.view.form.ButtonView
text: Create
+onPress: ~create()
- id: games

View File

@@ -1,8 +1,8 @@
package ru.m.tankz.view.network;
import haxework.view.ButtonView;
import haxework.view.HGroupView;
import haxework.view.LabelView;
import haxework.view.form.ButtonView;
import haxework.view.group.HGroupView;
import haxework.view.form.LabelView;
import haxework.view.list.ListView;
import ru.m.tankz.bundle.IConfigBundle;
import ru.m.tankz.network.NetworkManager;

View File

@@ -4,22 +4,21 @@ geometry.padding: 2
layout.margin: 10
views:
- id: type
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
skinId: text.box
geometry.size.height: 100%
geometry.size.width: 150
- $type: haxework.view.HGroupView
- $type: haxework.view.group.HGroupView
layout.hAlign: center
layout.vAlign: middle
geometry.size.height: 100%
geometry.size.width: 300
views:
- id: user
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
geometry.size.stretch: true
skinId: text.box
- id: select
$type: haxework.view.ButtonView
skinId: button.simple
$type: haxework.view.form.ButtonView
text: Select
+onPress: ~select()

View File

@@ -1,8 +1,8 @@
package ru.m.tankz.view.popup;
import haxework.view.DataView;
import haxework.view.data.DataView;
import haxework.view.popup.PopupView;
import haxework.view.ToggleButtonView;
import haxework.view.form.ToggleButtonView;
import ru.m.tankz.bundle.IConfigBundle;
import ru.m.tankz.bundle.ILevelBundle;
import ru.m.tankz.config.Config;
@@ -35,7 +35,6 @@ private typedef Result = {
private function gameTypeViewFactory(index:Int, type:GameType):ToggleButtonView {
var result = new ToggleButtonView();
result.skinId = "button.simple";
result.text = type;
result.on = type == this.type;
return result;

View File

@@ -2,39 +2,39 @@
layout.hAlign: center
layout.vAlign: middle
view:
$type: haxework.view.VGroupView
$type: haxework.view.group.VGroupView
layout.hAlign: center
geometry.size.stretch: true
geometry.margin: 10
skinId: window
views:
- $type: haxework.view.HGroupView
- $type: haxework.view.group.HGroupView
geometry.size.width: 100%
geometry.padding: 10
layout.vAlign: middle
views:
- id: name
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
geometry.size.width: 100%
geometry.margin.left: 10
layout.hAlign: left
skinId: text
text: New game
- $type: haxework.view.ButtonView
- $type: haxework.view.form.ButtonView
skinId: window.close
+onPress: ~reject('close')
- $type: haxework.view.VGroupView
- $type: haxework.view.group.VGroupView
geometry.size.stretch: true
geometry.padding: [5, 20]
layout.margin: 5
layout.hAlign: center
views:
- $type: haxework.view.LabelView
- $type: haxework.view.form.LabelView
geometry.size.width: 100%
skinId: text
text: Type
- id: type
$type: haxework.view.DataView
$type: haxework.view.data.DataView
geometry.size.width: 100%
layout:
$type: haxework.view.layout.TailLayout
@@ -45,7 +45,7 @@ view:
- "classic"
- "dota"
- "death"
- $type: haxework.view.LabelView
- $type: haxework.view.form.LabelView
geometry.size.width: 100%
skinId: text
text: Level
@@ -54,7 +54,7 @@ view:
scroll.skinId: scroll.vertical
view:
id: level
$type: haxework.view.DataView
$type: haxework.view.data.DataView
geometry.size.width: 100%
layout:
$type: haxework.view.layout.TailLayout
@@ -63,12 +63,11 @@ view:
factory: ~levelViewFactory
+onItemSelect: ~onLevelSelect
geometry.padding: 10
- $type: haxework.view.HGroupView
- $type: haxework.view.group.HGroupView
layout.hAlign: center
layout.margin: 5
skinId: panel
views:
- $type: haxework.view.ButtonView
skinId: button.simple
- $type: haxework.view.form.ButtonView
text: Create
+onPress: ~submit()

View File

@@ -1,41 +0,0 @@
package ru.m.tankz.view.popup;
import flash.text.Font;
import flash.text.FontType;
import haxework.view.list.LabelListItem;
import haxework.view.list.ListView;
import haxework.view.popup.PopupView;
class FontLabelView extends LabelListItem<Font> {
override private function set_data(value:Font):Font {
skinId = item_index % 2 == 0 ? "light" : "dark";
data = value;
text = value.fontName;
fontFamily = value.fontName;
fontEmbed = switch value.fontType {
case DEVICE: false;
case _: true;
};
return data;
}
}
@:template class FontPopup extends PopupView<Font> {
@:view var fonts:ListView<Font>;
private function init():Void {
var values = Font.enumerateFonts(true);
values.sort(function(a:Font, b:Font) {
return switch [a.fontType, b.fontType] {
case [DEVICE, _]: 1;
case [_, DEVICE]: -1;
case _: 0;
}
});
fonts.data = values;
}
private function fontViewFactory() return new FontLabelView();
}

View File

@@ -1,27 +0,0 @@
---
view:
$type: haxework.view.VGroupView
geometry.size.width: 400
geometry.size.height: 80%
geometry.padding: 10
geometry.hAlign: center
geometry.vAlign: middle
skinId: dark
views:
- id: fonts
$type: haxework.view.list.VListView
geometry.size.stretch: true
factory: ~fontViewFactory
+onItemSelect: ~function(item) close(item.data)
scroll:
$type: haxework.view.list.VScrollBarView
skinId: scroll.vertical
- $type: haxework.view.HGroupView
geometry.size.width: 100%
geometry.margin.top: 10
layout.hAlign: right
views:
- $type: haxework.view.ButtonView
skinId: button.simple
text: Cancel
+onPress: ~reject('cancel')

View File

@@ -1,9 +1,9 @@
package ru.m.tankz.view.popup;
using haxe.EnumTools.EnumValueTools;
import haxework.view.ButtonView;
import haxework.view.DataView;
import haxework.view.LabelView;
import haxework.view.form.ButtonView;
import haxework.view.data.DataView;
import haxework.view.form.LabelView;
import haxework.view.popup.PopupView;
import ru.m.tankz.config.Config;
import ru.m.tankz.control.Controller;
@@ -62,7 +62,7 @@ private typedef Result = {
private function presetViewFactory(index:Int, value:GamePreset):ButtonView {
var result = new ButtonView();
result.skinId = 'button.simple${!progress.isPresetCompleted(level.id, value.id) ? ".active" : ""}';
result.skinId = 'button${!progress.isPresetCompleted(level.id, value.id) ? ".active" : ""}';
result.text = value.name;
result.disabled = !progress.isPresetAvailable(level.id, value.id);
return result;

View File

@@ -2,25 +2,25 @@
layout.hAlign: center
layout.vAlign: middle
view:
$type: haxework.view.VGroupView
$type: haxework.view.group.VGroupView
layout.hAlign: center
geometry.size.width: 400
geometry.size.height: 400
geometry.margin: 10
skinId: window
views:
- $type: haxework.view.HGroupView
- $type: haxework.view.group.HGroupView
geometry.size.width: 100%
geometry.padding: 10
layout.vAlign: middle
views:
- id: name
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
geometry.size.width: 100%
geometry.margin.left: 10
layout.hAlign: left
skinId: text
- $type: haxework.view.ButtonView
- $type: haxework.view.form.ButtonView
skinId: window.close
+onPress: ~reject('close')
- $type: haxework.view.ScrollView
@@ -29,7 +29,7 @@ view:
scroll.skinId: scroll.vertical
view:
id: slots
$type: haxework.view.DataView
$type: haxework.view.data.DataView
geometry.padding: 10
factory: ~slotViewFactory
layout:
@@ -37,7 +37,7 @@ view:
# $type: haxework.view.layout.TailLayout
margin: 5
- id: presets
$type: haxework.view.DataView
$type: haxework.view.data.DataView
factory: ~presetViewFactory
+onDataSelect: ~onPresetSelect
layout:

View File

@@ -1,9 +1,9 @@
package ru.m.tankz.view.popup;
import haxework.log.BaseLogger.LoggerUtil;
import haxework.view.InputView;
import haxework.view.form.InputView;
import haxework.view.popup.PopupView;
import haxework.view.TextView;
import haxework.view.text.TextView;
import ru.m.tankz.network.NetworkManager;
@:template class LoginPopup extends PopupView<User> {

View File

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

View File

@@ -1,7 +1,7 @@
package ru.m.tankz.view.settings;
import haxework.view.HGroupView;
import haxework.view.LabelView;
import haxework.view.group.HGroupView;
import haxework.view.form.LabelView;
import haxework.view.list.ListView;
import openfl.Assets;
import ru.m.control.DeviceAction;

View File

@@ -3,10 +3,10 @@ geometry.margin: 5
layout.margin: 5
views:
- id: action
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
geometry.size.fixed: [180, 38]
skinId: text.box
- id: key
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
geometry.size.fixed: [250, 38]
skinId: text.box

View File

@@ -1,9 +1,9 @@
package ru.m.tankz.view.settings;
import haxework.view.DataView;
import haxework.view.GroupView;
import haxework.view.LabelView;
import haxework.view.VGroupView;
import haxework.view.data.DataView;
import haxework.view.group.GroupView;
import haxework.view.form.LabelView;
import haxework.view.group.VGroupView;
import promhx.Deferred;
import promhx.Promise;
import ru.m.control.DeviceAction;

View File

@@ -3,34 +3,30 @@ layout.hAlign: center
geometry.size.width: 400
views:
- id: label
$type: haxework.view.LabelView
$type: haxework.view.form.LabelView
skinId: text
- id: panel
$type: haxework.view.GroupView
$type: haxework.view.group.GroupView
layout:
$type: haxework.view.layout.TailLayout
rowSize: 2
margin: 10
geometry.size.width: 100%
views:
- $type: haxework.view.ButtonView
- $type: haxework.view.form.ButtonView
+onPress: ~screen()
skinId: button.simple
text: Screen
- $type: haxework.view.ButtonView
- $type: haxework.view.form.ButtonView
+onPress: ~change()
skinId: button.simple
text: Change
- $type: haxework.view.ButtonView
- $type: haxework.view.form.ButtonView
+onPress: ~clear()
skinId: button.simple
text: Clear
- $type: haxework.view.ButtonView
- $type: haxework.view.form.ButtonView
+onPress: ~default_()
skinId: button.simple
text: Default
- id: list
$type: haxework.view.DataView
$type: haxework.view.data.DataView
layout:
$type: haxework.view.layout.VerticalLayout
factory: ~viewFactory

View File

@@ -1,7 +1,7 @@
package ru.m.tankz.editor.view;
import haxework.view.frame.FrameSwitcher;
import haxework.view.VGroupView;
import haxework.view.group.VGroupView;
@:template class EditorView extends VGroupView {
@:view public var switcher(default, null):FrameSwitcher;

View File

@@ -1,8 +1,8 @@
package ru.m.tankz.editor.view;
import haxework.view.DataView;
import haxework.view.data.DataView;
import haxework.view.frame.FrameView;
import haxework.view.InputView;
import haxework.view.form.InputView;
import ru.m.tankz.bundle.IConfigBundle;
import ru.m.tankz.config.Config;
import ru.m.tankz.editor.FileUtil;

View File

@@ -3,7 +3,7 @@ package ru.m.tankz.editor.view;
import haxework.color.Color;
import haxework.view.frame.FrameView;
import haxework.view.IGroupView;
import haxework.view.InputView;
import haxework.view.form.InputView;
import ru.m.tankz.editor.view.tank.TankView;
@:template class TankFrame extends FrameView<Dynamic> {