From 6c638f853cc2e872abb155a2a22e816d727f1989 Mon Sep 17 00:00:00 2001 From: tobspr Date: Wed, 13 May 2020 12:57:18 +0200 Subject: [PATCH] UI Improvements --- res/ui/toolbar_bg.lossless.png | Bin 0 -> 3136 bytes res/ui/vignette.lossless.png | Bin 0 -> 6059 bytes src/css/common.scss | 4 +- src/css/ingame_hud/building_placer.scss | 47 ++++++--- src/css/ingame_hud/buildings_toolbar.scss | 99 ++----------------- src/css/ingame_hud/keybindings_overlay.scss | 2 + src/css/ingame_hud/vignette_overlay.scss | 9 ++ src/css/main.scss | 7 +- src/css/states/ingame.scss | 8 ++ src/js/application.js | 9 +- src/js/game/hud/hud.js | 3 + src/js/game/hud/parts/building_placer.js | 23 ++++- src/js/game/hud/parts/buildings_toolbar.js | 13 --- src/js/game/hud/parts/vignette_overlay.js | 10 ++ src/js/platform/browser/no_game_analytics.js | 7 ++ 15 files changed, 115 insertions(+), 126 deletions(-) create mode 100644 res/ui/toolbar_bg.lossless.png create mode 100644 res/ui/vignette.lossless.png create mode 100644 src/css/ingame_hud/vignette_overlay.scss create mode 100644 src/js/game/hud/parts/vignette_overlay.js create mode 100644 src/js/platform/browser/no_game_analytics.js diff --git a/res/ui/toolbar_bg.lossless.png b/res/ui/toolbar_bg.lossless.png new file mode 100644 index 0000000000000000000000000000000000000000..93967a9192aaa2b0cac7ecfd4aa6d5bc8f300463 GIT binary patch literal 3136 zcmcIm4NwzT9uJ~I1?29kHx;B^7MZEaCcB%2Br6F50RbC7fC`8wY<6Fgl_Z;H7YJM} zRqjr!D2EChJ*BP6v=+6sK&gkQbERG_*b&-d?Rd54^$G&kqgAWO)q5cj=?z-$D>F&n z+x`8&e*cg6URbqaS~dMUVeKbE1$C`8QH zqH%76NS0w0lE6CwqLfBs453gWDvgwgmMb)xD1^ibwG3Cw2suVXQwp3SNo4GULTgUe zM5XDI#%#fz7PW|?gObULii)H~aw+dL%Lt7|Bg07kUm$8x=&2_Jo5QQtE{xFx36r^Khm4To?vO@-EaSyF3Y^wa<18ZsR$v2m zQGi&&i-jy13|{!8YHcv zZ8T(=v(aWCbJ)$J)(i$J#V&}nodGF&Eec(gavV!3Sp_V4Ig8P_3Sf*vfnypC$zW=u ziosO`LjsZ=m)G-5fx80S@}6d3c?Rn6Qb!STqe7(wMoa?;BL--N95XUBi>Yb&g47T= zsV2s?t#op*A8G4Et!}Sas4ZN-CKXVD^f~`YRngGq$pF$Y>!_G~@0SEy}p_3}Bp|$J``5P0b^Z ze31n}r4LEI2PW_)v50npI5XsQD)l9MkpBW*_;Bx)jE1C*N*wa3Au*NG%_kF0U?7?` zDvcz-6+kr}{iNPctj7P)`!RAE3vD+8IDTd51LI+Mdm(U6$cTe>(s1emr=UemPTq#l z4u_RvXm|Q#g?4sqn0X5V5qac(`9IJO3!K~p<|bP4x`6x-?frP3rqqoOsj~lDo@DL= z#nVEvf9)>MUhg3@$(^3jK}}88M^mjtIJqe}UA*(=-{eix$lP!E!OZq4F*}!-oc-#^c9NH@|lr}mC?-6Lh+XyiSE+cs_XyYsF~cck=Eb+J76V5sGC zy2%uP<>v^8i$2b2`1F^?-+j?FO=$bFNL|=&O6mE_NuPoa`_i-J%(*31C##hyy8e(5 z7m924tl3`Wv%fB(HD_kz*$sDVv5rf>7^xZzjLetL3dxUpPo3h|9e%FzG_xtbtbE23 zi|@wCBieTk-?&||?bu>m1gl7gH58uT)g0?s~(tIInW8E_d4b(v$OJo)nvO7dXbI zHJGoiUeYgLwEn9kA9slFC|}yVrI#o~jh9eD|%3|22y4hjNL`zKj&xg37HnQgfvO(-`D~(G<4VQO+^6|!Cs{WHY zG`Pg?C#O2PZjJ1k_IT4sSDpX!$$dHb2fm2Q+nrqpz_N&q<}*!fPvUj|%ZH zI!j)-=^KCTWm!&-;S^wPu>fmc*(GD?}5}snXm6Cao_P%5?APt#^-JRC-RALdjJ3c literal 0 HcmV?d00001 diff --git a/res/ui/vignette.lossless.png b/res/ui/vignette.lossless.png new file mode 100644 index 0000000000000000000000000000000000000000..26f0529627adcba53e99fd74fd90861a079e3cce GIT binary patch literal 6059 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.getName()} - ${metaBuilding.getDescription()} - - ` - ); - const sprite = metaBuilding.getPreviewSprite(0); const spriteWrapper = makeDiv(itemContainer, null, ["iconWrap"]); spriteWrapper.innerHTML = sprite.getAsHTML(iconSize * dimensions.x, iconSize * dimensions.y); - - binding.appendLabelToElement(itemContainer); binding.add(() => this.selectBuildingForPlacement(metaBuilding)); this.trackClicks(itemContainer, () => this.selectBuildingForPlacement(metaBuilding), {}); diff --git a/src/js/game/hud/parts/vignette_overlay.js b/src/js/game/hud/parts/vignette_overlay.js new file mode 100644 index 00000000..dc0e5db7 --- /dev/null +++ b/src/js/game/hud/parts/vignette_overlay.js @@ -0,0 +1,10 @@ +import { BaseHUDPart } from "../base_hud_part"; +import { makeDiv } from "../../../core/utils"; + +export class HUDVignetteOverlay extends BaseHUDPart { + createElements(parent) { + this.element = makeDiv(parent, "ingame_VignetteOverlay"); + } + + initialize() {} +} diff --git a/src/js/platform/browser/no_game_analytics.js b/src/js/platform/browser/no_game_analytics.js new file mode 100644 index 00000000..805e6fb1 --- /dev/null +++ b/src/js/platform/browser/no_game_analytics.js @@ -0,0 +1,7 @@ +import { GameAnalyticsInterface } from "../game_analytics"; + +export class NoGameAnalytics extends GameAnalyticsInterface { + initialize() { + return Promise.resolve(); + } +}