From 4da06e52e51b2571fe30b9d3466ea9d84b43415d Mon Sep 17 00:00:00 2001 From: shmyga Date: Thu, 17 Oct 2019 21:36:46 +0300 Subject: [PATCH] [work] update worklist --- WORK.md | 36 ++++++++---------- gulp | 1 + gulpfile.js | 1 + src/client/haxe/ru/m/tankz/Const.hx | 2 + src/client/haxe/ru/m/tankz/view/ClientView.hx | 1 + .../haxe/ru/m/tankz/view/MenuFrame.yaml | 2 +- src/common/haxe/ru/m/tankz/Type.hx | 8 ++-- src/common/resources/level/classic_modern.zip | Bin 5382 -> 5399 bytes 8 files changed, 25 insertions(+), 26 deletions(-) create mode 120000 gulp diff --git a/WORK.md b/WORK.md index 76a99fa..13fdd28 100644 --- a/WORK.md +++ b/WORK.md @@ -1,23 +1,17 @@ -* bonuses - * death game bonuses +* death game bonus * tanks and bullets speed balancing -* game series - * clean player state on restart in classic type - * network series -* map packs - * import in game - * save imported in local storage - * database -* improve bots - * A star +* clean player state on restart in classic type +* network series +* map pack version (or hash) +* bot upgrade * game config validate -* additional weapon - * mine z-order - * spawn mine on tank back - * check mine exist when spawn mine - * double rocket - * display count - * bonus ammo - * screen gamepad (button enabled, count label) -* ui: - * game frame layouts +* mine z-order +* mine spawn position +* mine spawn on other mine +* double rocket +* display ammo count (panel) +* display ammo count (screen gamepad) +* bonus ammo +* game panel rework +* pause +* game state: config, map, entities, players diff --git a/gulp b/gulp new file mode 120000 index 0000000..b356e5e --- /dev/null +++ b/gulp @@ -0,0 +1 @@ +node_modules/.bin/gulp \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 495fccf..9b94d41 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -119,6 +119,7 @@ const editor = new Project( ], meta: { filename: 'editor', + pack: 'ru.m.tankz.editor', width: 1024, height: 768, }, diff --git a/src/client/haxe/ru/m/tankz/Const.hx b/src/client/haxe/ru/m/tankz/Const.hx index 9c5ec77..141bbd2 100755 --- a/src/client/haxe/ru/m/tankz/Const.hx +++ b/src/client/haxe/ru/m/tankz/Const.hx @@ -7,12 +7,14 @@ class Const { public static var FPS:Int; public static var BUILD:String; public static var VERSION:String; + public static var NAME:String; public static var DEBUG:Bool; public static function init():Void { FPS = Std.parseInt(Lib.current.stage.application.meta.get("fps")); BUILD = CompilationOption.get("build"); VERSION = Lib.current.stage.application.meta.get("version"); + NAME = Lib.current.stage.application.meta.get("name"); DEBUG = Capabilities.isDebugger; } } diff --git a/src/client/haxe/ru/m/tankz/view/ClientView.hx b/src/client/haxe/ru/m/tankz/view/ClientView.hx index ac19547..1a803aa 100644 --- a/src/client/haxe/ru/m/tankz/view/ClientView.hx +++ b/src/client/haxe/ru/m/tankz/view/ClientView.hx @@ -20,6 +20,7 @@ import ru.m.tankz.sound.SoundManager; public function init():Void { resources.text.put('version', '${Const.VERSION}'); + resources.text.put('name', '${Const.NAME}'); switcher = switcherView; } diff --git a/src/client/haxe/ru/m/tankz/view/MenuFrame.yaml b/src/client/haxe/ru/m/tankz/view/MenuFrame.yaml index b0f4b4b..cced200 100644 --- a/src/client/haxe/ru/m/tankz/view/MenuFrame.yaml +++ b/src/client/haxe/ru/m/tankz/view/MenuFrame.yaml @@ -10,7 +10,7 @@ views: layout.hAlign: center views: - $type: haxework.view.form.LabelView - text: Tank'z + text: $r:text:name style: font font.size: 100 geometry.margin.bottom: 30 diff --git a/src/common/haxe/ru/m/tankz/Type.hx b/src/common/haxe/ru/m/tankz/Type.hx index 97e443d..1bdae1f 100644 --- a/src/common/haxe/ru/m/tankz/Type.hx +++ b/src/common/haxe/ru/m/tankz/Type.hx @@ -63,19 +63,19 @@ abstract PlayerId(Array) { } } -abstract PackId(Array) { +abstract PackId({type:GameType, name:String}) { public static inline var DEFAULT = "standard"; public var type(get, never):GameType; public var name(get, never):String; public function new(type:GameType, name:String = DEFAULT) { - this = [type, name]; + this = {type: type, name: name}; } - private inline function get_type():GameType return this[0]; + private inline function get_type():GameType return this.type; - private inline function get_name():String return this[1]; + private inline function get_name():String return this.name; @:from static public inline function fromArray(value:Array):PackId { return new PackId(value[0], value[1]); diff --git a/src/common/resources/level/classic_modern.zip b/src/common/resources/level/classic_modern.zip index bb1a6638301f2a9e9aff18303553fd63bb6c6ec5..c8ea34ab70ca34a9ed0adadab099f0a54a14f9b1 100644 GIT binary patch literal 5399 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