[client] replace and macros in templates

This commit is contained in:
2019-07-09 12:04:17 +03:00
parent b7bc1d244f
commit 24f5b0c218
20 changed files with 115 additions and 92 deletions

93
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "tankz",
"version": "0.14.4",
"version": "0.15.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -611,9 +611,9 @@
}
},
"chownr": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
"integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz",
"integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==",
"dev": true
},
"class-utils": {
@@ -1637,9 +1637,9 @@
"dev": true
},
"process-nextick-args": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
"dev": true
},
"readable-stream": {
@@ -2440,13 +2440,13 @@
}
},
"global": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
"integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
"integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
"dev": true,
"requires": {
"min-document": "^2.19.0",
"process": "~0.5.1"
"process": "^0.11.10"
}
},
"global-modules": {
@@ -2956,9 +2956,9 @@
"dev": true
},
"process-nextick-args": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
"dev": true
},
"readable-stream": {
@@ -3076,9 +3076,9 @@
}
},
"gulp-haxetool": {
"version": "0.0.19",
"resolved": "https://registry.npmjs.org/gulp-haxetool/-/gulp-haxetool-0.0.19.tgz",
"integrity": "sha512-DpIadM5wwQSiQCNRPiaa7iecIccLDPVRY6xNzFTo2g9yyI4ccW4v3ITlaAh92jL9v5J7aEdc8HxnefDFKUI9Kg==",
"version": "0.0.20",
"resolved": "https://registry.npmjs.org/gulp-haxetool/-/gulp-haxetool-0.0.20.tgz",
"integrity": "sha512-ePL/TktdKuThiNY6I/UGiM9FH5gXucQDFBM42OhrUSWASEwdPOJUK3T39SXMX0taUngLpn3RNwHk8LbnA/rl3A==",
"dev": true,
"requires": {
"ansi-colors": "^1.1.0",
@@ -3161,9 +3161,9 @@
}
},
"process-nextick-args": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
"dev": true
},
"readable-stream": {
@@ -3518,9 +3518,9 @@
}
},
"http-parser-js": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
"integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==",
"version": "0.4.10",
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
"integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=",
"dev": true
},
"iconv-lite": {
@@ -5036,9 +5036,9 @@
"dev": true
},
"process-nextick-args": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
"dev": true
},
"readable-stream": {
@@ -5138,9 +5138,9 @@
"dev": true
},
"process": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
"integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=",
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
"dev": true
},
"process-nextick-args": {
@@ -5577,18 +5577,24 @@
},
"dependencies": {
"http-errors": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
"integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
"integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==",
"dev": true,
"requires": {
"depd": "~1.1.2",
"inherits": "2.0.3",
"inherits": "2.0.4",
"setprototypeof": "1.1.1",
"statuses": ">= 1.5.0 < 2",
"toidentifier": "1.0.0"
}
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
@@ -6021,18 +6027,18 @@
"dev": true
},
"tar": {
"version": "4.4.8",
"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz",
"integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",
"version": "4.4.10",
"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz",
"integrity": "sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==",
"dev": true,
"requires": {
"chownr": "^1.1.1",
"fs-minipass": "^1.2.5",
"minipass": "^2.3.4",
"minizlib": "^1.1.1",
"minipass": "^2.3.5",
"minizlib": "^1.2.1",
"mkdirp": "^0.5.0",
"safe-buffer": "^5.1.2",
"yallist": "^3.0.2"
"yallist": "^3.0.3"
}
},
"through": {
@@ -6730,12 +6736,13 @@
"dev": true
},
"websocket-driver": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
"integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz",
"integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==",
"dev": true,
"requires": {
"http-parser-js": ">=0.4.0",
"http-parser-js": ">=0.4.0 <0.4.11",
"safe-buffer": ">=5.1.0",
"websocket-extensions": ">=0.1.1"
}
},

View File

@@ -8,7 +8,7 @@
"gulp-add": "0.0.2",
"gulp-clean": "^0.4.0",
"gulp-foreach": "^0.1.0",
"gulp-haxetool": "^0.0.19",
"gulp-haxetool": "0.0.20",
"gulp-zip": "^5.0.0",
"yargs": "^13.2.4"
},

View File

@@ -5,10 +5,18 @@ import flash.display.DisplayObjectContainer;
class DisplayObjectContainerExtender {
public static function childrenIterator():Iterator<DisplayObject> {
throw "Not implemented";
}
public static function removeChildSafety(self:DisplayObjectContainer, child:DisplayObject):DisplayObject {
if (self.contains(child)) {
return self.removeChild(child);
}
return null;
}
public static function containsRecursivle(child:DisplayObject):Bool {
throw "Not implemented";
}
}

View File

@@ -20,7 +20,7 @@ views:
- id: settings
$type: haxework.view.ButtonView
skinId: button.settings
+onPress: $code:switcher.change('settings')
+onPress: ~switcher.change('settings')
- $type: haxework.view.SpriteView
geometry.size.width: 50%
- id: username
@@ -29,15 +29,15 @@ views:
- id: login
$type: haxework.view.ButtonView
skinId: button.login
+onPress: $code:login()
+onPress: ~login()
- id: logout
$type: haxework.view.ButtonView
skinId: button.logout
+onPress: $code:logout()
+onPress: ~logout()
visible: false
- $type: haxework.view.SpriteView
geometry.size.width: 50%
- id: close
$type: haxework.view.ButtonView
skinId: button.close
+onPress: $code:close()
+onPress: ~close()

View File

@@ -18,6 +18,6 @@ views:
$type: haxework.view.layout.TailLayout
rowSize: 10
margin: 5
factory: $this:levelViewFactory
+onItemSelect: $this:onLevelSelect
factory: ~levelViewFactory
+onItemSelect: ~onLevelSelect
geometry.padding: 10

View File

@@ -9,7 +9,7 @@ views:
text: Records
- id: data
$type: haxework.view.list.VListView
factory: $code:function() return new ru.m.tankz.view.common.RecordView()
factory: ~function() return new ru.m.tankz.view.common.RecordView()
geometry.margin.top: 20
geometry.size.stretch: true
scroll:

View File

@@ -9,7 +9,7 @@ views:
align: center
- id: result
$type: haxework.view.DataView
factory: $this:playerViewFactory
factory: ~playerViewFactory
geometry.margin.top: 20
layout:
$type: haxework.view.layout.VerticalLayout
@@ -23,14 +23,14 @@ views:
$type: haxework.view.ButtonView
skinId: button.simple
text: Levels
+onPress: $code:levels()
+onPress: ~levels()
- id: restart
$type: haxework.view.ButtonView
skinId: button.simple
text: Restart
+onPress: $code:restart()
+onPress: ~restart()
- id: next
$type: haxework.view.ButtonView
skinId: button.simple
text: Next
+onPress: $code:next()
+onPress: ~next()

View File

@@ -11,24 +11,24 @@ views:
geometry.margin.bottom: 30
- $type: haxework.view.ButtonView
skinId: button
+onPress: $code:startGame('classic')
+onPress: ~startGame('classic')
text: Classic
- $type: haxework.view.ButtonView
skinId: button
+onPress: $code:startGame('dota')
+onPress: ~startGame('dota')
text: DotA
- $type: haxework.view.ButtonView
skinId: button
+onPress: $code:startGame('death')
+onPress: ~startGame('death')
text: DeathMatch
- $type: haxework.view.ButtonView
skinId: button
+onPress: $code:switcher.change('record')
+onPress: ~switcher.change('record')
text: Records
- id: network
$type: haxework.view.ButtonView
skinId: button
+onPress: $code:startNetwork()
+onPress: ~startNetwork()
text: Network
#disabled: true
- $type: haxework.view.LabelView

View File

@@ -6,7 +6,7 @@ views:
- id: play
$type: haxework.view.ButtonView
skinId: button.start.small
+onPress: $code:play()
+onPress: ~play()
- id: date
$type: haxework.view.LabelView
skinId: text.box
@@ -26,4 +26,4 @@ views:
- id: delete
$type: haxework.view.ButtonView
skinId: button.close.small
+onPress: $code:delete()
+onPress: ~delete()

View File

@@ -14,3 +14,11 @@ views:
geometry.size.height: 100%
geometry.size.width: 120
text: "-"
- id: select
$type: haxework.view.SelectView<ru.m.tankz.control.Controller>
labelSkinId: text.box
data:
- ~ru.m.tankz.control.Controller.NONE
- ~ru.m.tankz.control.Controller.HUMAN(0)
- ~ru.m.tankz.control.Controller.HUMAN(1)
selected: ~ru.m.tankz.control.Controller.NONE

View File

@@ -15,4 +15,4 @@ views:
$type: haxework.view.DataView
layout:
$type: haxework.view.layout.VerticalLayout
factory: $code:ru.m.tankz.view.common.LifeView.factory
factory: ~ru.m.tankz.view.common.LifeView.factory

View File

@@ -24,13 +24,13 @@ views:
$type: haxework.view.ButtonView
skinId: button.simple
text: Start
+onPress: $code:network.startGame()
+onPress: ~network.startGame()
visible: false
- id: leave
$type: haxework.view.ButtonView
skinId: button.simple
text: Leave
+onPress: $code:network.leaveGame()
+onPress: ~network.leaveGame()
- $type: haxework.view.SpriteView
geometry.size.width: 100%
geometry.size.height: 3
@@ -38,4 +38,4 @@ views:
- id: slots
$type: haxework.view.list.VListView
geometry.size.stretch: true
factory: $code:ru.m.tankz.view.network.SlotItemView.factory
factory: ~ru.m.tankz.view.network.SlotItemView.factory

View File

@@ -24,4 +24,4 @@ views:
geometry.size.height: 100%
skinId: button.simple
text: Join
+onPress: $code:join()
+onPress: ~join()

View File

@@ -15,9 +15,9 @@ views:
- $type: haxework.view.ButtonView
skinId: button.simple
text: Create
+onPress: $code:create()
+onPress: ~create()
- id: games
$type: haxework.view.list.VListView
geometry.size.stretch: true
factory: $code:ru.m.tankz.view.network.RoomItemView.factory
factory: ~ru.m.tankz.view.network.RoomItemView.factory
geometry.margin: 10

View File

@@ -22,4 +22,4 @@ views:
$type: haxework.view.ButtonView
skinId: button.simple
text: Select
+onPress: $this:select()
+onPress: ~select()

View File

@@ -22,7 +22,7 @@ view:
text: New game
- $type: haxework.view.ButtonView
skinId: window.close
+onPress: $code:reject('close')
+onPress: ~reject('close')
- $type: haxework.view.VGroupView
geometry.size.stretch: true
geometry.padding: [5, 20]
@@ -39,8 +39,8 @@ view:
layout:
$type: haxework.view.layout.TailLayout
margin: 10
factory: $this:gameTypeViewFactory
+onItemSelect: $this:onGameTypeSelect
factory: ~gameTypeViewFactory
+onItemSelect: ~onGameTypeSelect
data:
- "classic"
- "dota"
@@ -60,8 +60,8 @@ view:
$type: haxework.view.layout.TailLayout
rowSize: 10
margin: 5
factory: $this:levelViewFactory
+onItemSelect: $this:onLevelSelect
factory: ~levelViewFactory
+onItemSelect: ~onLevelSelect
geometry.padding: 10
- $type: haxework.view.HGroupView
layout.hAlign: center
@@ -71,4 +71,4 @@ view:
- $type: haxework.view.ButtonView
skinId: button.simple
text: Create
+onPress: $code:submit()
+onPress: ~submit()

View File

@@ -11,8 +11,8 @@ view:
- id: fonts
$type: haxework.view.list.VListView
geometry.size.stretch: true
factory: $this:fontViewFactory
+onItemSelect: $code:function(item) close(item.data)
factory: ~fontViewFactory
+onItemSelect: ~function(item) close(item.data)
scroll:
$type: haxework.view.list.VScrollBarView
skinId: scroll.vertical
@@ -24,4 +24,4 @@ view:
- $type: haxework.view.ButtonView
skinId: button.simple
text: Cancel
+onPress: $code:reject('cancel')
+onPress: ~reject('cancel')

View File

@@ -22,7 +22,7 @@ view:
skinId: text
- $type: haxework.view.ButtonView
skinId: window.close
+onPress: $code:reject('close')
+onPress: ~reject('close')
- $type: haxework.view.ScrollView
geometry.size.stretch: true
layout.hAlign: center
@@ -31,16 +31,16 @@ view:
id: slots
$type: haxework.view.DataView
geometry.padding: 10
factory: $this:slotViewFactory
factory: ~slotViewFactory
layout:
$type: haxework.view.layout.VerticalLayout
# $type: haxework.view.layout.TailLayout
margin: 5
+onItemSelect: $this:onControlSelect
+onItemSelect: ~onControlSelect
- id: presets
$type: haxework.view.DataView
factory: $this:presetViewFactory
+onDataSelect: $this:onPresetSelect
factory: ~presetViewFactory
+onDataSelect: ~onPresetSelect
layout:
$type: haxework.view.layout.HorizontalLayout
hAlign: center

View File

@@ -22,7 +22,7 @@ view:
text: Login
- $type: haxework.view.ButtonView
skinId: window.close
+onPress: $code:reject('close')
+onPress: ~reject('close')
- $type: haxework.view.VGroupView
geometry.size.width: 100%
# geometry.size.stretch: true
@@ -63,4 +63,4 @@ view:
- $type: haxework.view.ButtonView
skinId: button.simple
text: Submit
+onPress: $code:submit()
+onPress: ~submit()

View File

@@ -14,24 +14,24 @@ views:
geometry.size.width: 100%
views:
- $type: haxework.view.ButtonView
+onPress: $code:screen()
+onPress: ~screen()
skinId: button.simple
text: Screen
- $type: haxework.view.ButtonView
+onPress: $code:change()
+onPress: ~change()
skinId: button.simple
text: Change
- $type: haxework.view.ButtonView
+onPress: $code:clear()
+onPress: ~clear()
skinId: button.simple
text: Clear
- $type: haxework.view.ButtonView
+onPress: $code:default_()
+onPress: ~default_()
skinId: button.simple
text: Default
- id: list
$type: haxework.view.DataView
layout:
$type: haxework.view.layout.VerticalLayout
factory: $this:viewFactory
+onItemSelect: $this:onItemSelect
factory: ~viewFactory
+onItemSelect: ~onItemSelect