diff --git a/src/client/haxe/ru/m/tankz/AppTheme.hx b/src/client/haxe/ru/m/tankz/AppTheme.hx index 06202aa..9945137 100644 --- a/src/client/haxe/ru/m/tankz/AppTheme.hx +++ b/src/client/haxe/ru/m/tankz/AppTheme.hx @@ -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)), ]); } diff --git a/src/client/haxe/ru/m/tankz/Preloader.hx b/src/client/haxe/ru/m/tankz/Preloader.hx index 9c8e950..fd4d5df 100644 --- a/src/client/haxe/ru/m/tankz/Preloader.hx +++ b/src/client/haxe/ru/m/tankz/Preloader.hx @@ -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 { diff --git a/src/client/haxe/ru/m/tankz/render/Render.hx b/src/client/haxe/ru/m/tankz/render/Render.hx index a1cd85e..c5ee375 100755 --- a/src/client/haxe/ru/m/tankz/render/Render.hx +++ b/src/client/haxe/ru/m/tankz/render/Render.hx @@ -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):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(); diff --git a/src/client/haxe/ru/m/tankz/view/ClientView.yaml b/src/client/haxe/ru/m/tankz/view/ClientView.yaml index b7de4cd..96f0cd5 100755 --- a/src/client/haxe/ru/m/tankz/view/ClientView.yaml +++ b/src/client/haxe/ru/m/tankz/view/ClientView.yaml @@ -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() diff --git a/src/client/haxe/ru/m/tankz/view/GameFrame.yaml b/src/client/haxe/ru/m/tankz/view/GameFrame.yaml index b394d7f..12130df 100644 --- a/src/client/haxe/ru/m/tankz/view/GameFrame.yaml +++ b/src/client/haxe/ru/m/tankz/view/GameFrame.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/GamepadView.hx b/src/client/haxe/ru/m/tankz/view/GamepadView.hx index 43dc3c2..b16e89f 100644 --- a/src/client/haxe/ru/m/tankz/view/GamepadView.hx +++ b/src/client/haxe/ru/m/tankz/view/GamepadView.hx @@ -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); } diff --git a/src/client/haxe/ru/m/tankz/view/LevelFrame.hx b/src/client/haxe/ru/m/tankz/view/LevelFrame.hx index be255a3..6e37d57 100644 --- a/src/client/haxe/ru/m/tankz/view/LevelFrame.hx +++ b/src/client/haxe/ru/m/tankz/view/LevelFrame.hx @@ -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); diff --git a/src/client/haxe/ru/m/tankz/view/LevelFrame.yaml b/src/client/haxe/ru/m/tankz/view/LevelFrame.yaml index 2cf1844..bf0c90d 100644 --- a/src/client/haxe/ru/m/tankz/view/LevelFrame.yaml +++ b/src/client/haxe/ru/m/tankz/view/LevelFrame.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/RecordFrame.yaml b/src/client/haxe/ru/m/tankz/view/RecordFrame.yaml index ed184c3..e9a1640 100644 --- a/src/client/haxe/ru/m/tankz/view/RecordFrame.yaml +++ b/src/client/haxe/ru/m/tankz/view/RecordFrame.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/ResultFrame.yaml b/src/client/haxe/ru/m/tankz/view/ResultFrame.yaml index 583b49d..67ec4bb 100644 --- a/src/client/haxe/ru/m/tankz/view/ResultFrame.yaml +++ b/src/client/haxe/ru/m/tankz/view/ResultFrame.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/SettingsFrame.yaml b/src/client/haxe/ru/m/tankz/view/SettingsFrame.yaml index ea7ac96..c873e92 100644 --- a/src/client/haxe/ru/m/tankz/view/SettingsFrame.yaml +++ b/src/client/haxe/ru/m/tankz/view/SettingsFrame.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/StartFrame.yaml b/src/client/haxe/ru/m/tankz/view/StartFrame.yaml index 7e807cf..4146c9d 100644 --- a/src/client/haxe/ru/m/tankz/view/StartFrame.yaml +++ b/src/client/haxe/ru/m/tankz/view/StartFrame.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/common/LifeView.yaml b/src/client/haxe/ru/m/tankz/view/common/LifeView.yaml index d192cdb..6a859eb 100644 --- a/src/client/haxe/ru/m/tankz/view/common/LifeView.yaml +++ b/src/client/haxe/ru/m/tankz/view/common/LifeView.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/common/RecordView.yaml b/src/client/haxe/ru/m/tankz/view/common/RecordView.yaml index c5f3009..978758d 100644 --- a/src/client/haxe/ru/m/tankz/view/common/RecordView.yaml +++ b/src/client/haxe/ru/m/tankz/view/common/RecordView.yaml @@ -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() diff --git a/src/client/haxe/ru/m/tankz/view/common/SlotView.hx b/src/client/haxe/ru/m/tankz/view/common/SlotView.hx index 9731df0..5e75ef3 100644 --- a/src/client/haxe/ru/m/tankz/view/common/SlotView.hx +++ b/src/client/haxe/ru/m/tankz/view/common/SlotView.hx @@ -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; } diff --git a/src/client/haxe/ru/m/tankz/view/common/SlotView.yaml b/src/client/haxe/ru/m/tankz/view/common/SlotView.yaml index f2c21d1..9c116fd 100644 --- a/src/client/haxe/ru/m/tankz/view/common/SlotView.yaml +++ b/src/client/haxe/ru/m/tankz/view/common/SlotView.yaml @@ -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 labelBuilder: | diff --git a/src/client/haxe/ru/m/tankz/view/game/ClassicGamePanel.yaml b/src/client/haxe/ru/m/tankz/view/game/ClassicGamePanel.yaml index e0a0de9..8fe4c38 100644 --- a/src/client/haxe/ru/m/tankz/view/game/ClassicGamePanel.yaml +++ b/src/client/haxe/ru/m/tankz/view/game/ClassicGamePanel.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/game/DeathGamePanel.yaml b/src/client/haxe/ru/m/tankz/view/game/DeathGamePanel.yaml index e40439c..1a58438 100644 --- a/src/client/haxe/ru/m/tankz/view/game/DeathGamePanel.yaml +++ b/src/client/haxe/ru/m/tankz/view/game/DeathGamePanel.yaml @@ -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: diff --git a/src/client/haxe/ru/m/tankz/view/game/DotaGamePanel.yaml b/src/client/haxe/ru/m/tankz/view/game/DotaGamePanel.yaml index d976992..bcb18d3 100644 --- a/src/client/haxe/ru/m/tankz/view/game/DotaGamePanel.yaml +++ b/src/client/haxe/ru/m/tankz/view/game/DotaGamePanel.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/game/GameView.yaml b/src/client/haxe/ru/m/tankz/view/game/GameView.yaml index b18bf46..5d95ef0 100644 --- a/src/client/haxe/ru/m/tankz/view/game/GameView.yaml +++ b/src/client/haxe/ru/m/tankz/view/game/GameView.yaml @@ -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% diff --git a/src/client/haxe/ru/m/tankz/view/network/RoomFrame.yaml b/src/client/haxe/ru/m/tankz/view/network/RoomFrame.yaml index 2e78400..0cc0ce9 100644 --- a/src/client/haxe/ru/m/tankz/view/network/RoomFrame.yaml +++ b/src/client/haxe/ru/m/tankz/view/network/RoomFrame.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/network/RoomItemView.hx b/src/client/haxe/ru/m/tankz/view/network/RoomItemView.hx index 7e2ed89..ce5b659 100644 --- a/src/client/haxe/ru/m/tankz/view/network/RoomItemView.hx +++ b/src/client/haxe/ru/m/tankz/view/network/RoomItemView.hx @@ -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; diff --git a/src/client/haxe/ru/m/tankz/view/network/RoomItemView.yaml b/src/client/haxe/ru/m/tankz/view/network/RoomItemView.yaml index c2e16e6..fa2183c 100644 --- a/src/client/haxe/ru/m/tankz/view/network/RoomItemView.yaml +++ b/src/client/haxe/ru/m/tankz/view/network/RoomItemView.yaml @@ -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() diff --git a/src/client/haxe/ru/m/tankz/view/network/RoomListFrame.yaml b/src/client/haxe/ru/m/tankz/view/network/RoomListFrame.yaml index 51b8575..b7c6898 100644 --- a/src/client/haxe/ru/m/tankz/view/network/RoomListFrame.yaml +++ b/src/client/haxe/ru/m/tankz/view/network/RoomListFrame.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/network/SlotItemView.hx b/src/client/haxe/ru/m/tankz/view/network/SlotItemView.hx index 80e51a5..fadaab9 100644 --- a/src/client/haxe/ru/m/tankz/view/network/SlotItemView.hx +++ b/src/client/haxe/ru/m/tankz/view/network/SlotItemView.hx @@ -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; } diff --git a/src/client/haxe/ru/m/tankz/view/network/SlotItemView.yaml b/src/client/haxe/ru/m/tankz/view/network/SlotItemView.yaml index 47d2af3..81892af 100644 --- a/src/client/haxe/ru/m/tankz/view/network/SlotItemView.yaml +++ b/src/client/haxe/ru/m/tankz/view/network/SlotItemView.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/popup/CreateGamePopup.hx b/src/client/haxe/ru/m/tankz/view/popup/CreateGamePopup.hx index 6a0d090..1583ac7 100644 --- a/src/client/haxe/ru/m/tankz/view/popup/CreateGamePopup.hx +++ b/src/client/haxe/ru/m/tankz/view/popup/CreateGamePopup.hx @@ -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; } diff --git a/src/client/haxe/ru/m/tankz/view/popup/CreateGamePopup.yaml b/src/client/haxe/ru/m/tankz/view/popup/CreateGamePopup.yaml index 7d1862a..870370e 100644 --- a/src/client/haxe/ru/m/tankz/view/popup/CreateGamePopup.yaml +++ b/src/client/haxe/ru/m/tankz/view/popup/CreateGamePopup.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/popup/LevelPopup.hx b/src/client/haxe/ru/m/tankz/view/popup/LevelPopup.hx index 9c0c035..d8a555f 100644 --- a/src/client/haxe/ru/m/tankz/view/popup/LevelPopup.hx +++ b/src/client/haxe/ru/m/tankz/view/popup/LevelPopup.hx @@ -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; diff --git a/src/client/haxe/ru/m/tankz/view/popup/LevelPopup.yaml b/src/client/haxe/ru/m/tankz/view/popup/LevelPopup.yaml index 85a84fe..4aff05c 100644 --- a/src/client/haxe/ru/m/tankz/view/popup/LevelPopup.yaml +++ b/src/client/haxe/ru/m/tankz/view/popup/LevelPopup.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/popup/LoginPopup.yaml b/src/client/haxe/ru/m/tankz/view/popup/LoginPopup.yaml index 78bd9da..fb96362 100644 --- a/src/client/haxe/ru/m/tankz/view/popup/LoginPopup.yaml +++ b/src/client/haxe/ru/m/tankz/view/popup/LoginPopup.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/settings/ActionView.hx b/src/client/haxe/ru/m/tankz/view/settings/ActionView.hx index b9814aa..0d642d1 100755 --- a/src/client/haxe/ru/m/tankz/view/settings/ActionView.hx +++ b/src/client/haxe/ru/m/tankz/view/settings/ActionView.hx @@ -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; } diff --git a/src/client/haxe/ru/m/tankz/view/settings/ActionView.yaml b/src/client/haxe/ru/m/tankz/view/settings/ActionView.yaml index 85f14ca..2c6c1ab 100644 --- a/src/client/haxe/ru/m/tankz/view/settings/ActionView.yaml +++ b/src/client/haxe/ru/m/tankz/view/settings/ActionView.yaml @@ -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 diff --git a/src/client/haxe/ru/m/tankz/view/settings/SettingsEditor.yaml b/src/client/haxe/ru/m/tankz/view/settings/SettingsEditor.yaml index 8ee9bf1..b704de3 100644 --- a/src/client/haxe/ru/m/tankz/view/settings/SettingsEditor.yaml +++ b/src/client/haxe/ru/m/tankz/view/settings/SettingsEditor.yaml @@ -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()