diff --git a/res/ui/icons/blueprint_marker.png b/res/ui/icons/blueprint_marker.png new file mode 100644 index 00000000..b68100ed Binary files /dev/null and b/res/ui/icons/blueprint_marker.png differ diff --git a/src/css/ingame_hud/pinned_shapes.scss b/src/css/ingame_hud/pinned_shapes.scss index 063711b4..afedd6a5 100644 --- a/src/css/ingame_hud/pinned_shapes.scss +++ b/src/css/ingame_hud/pinned_shapes.scss @@ -31,6 +31,14 @@ @include S(height, 25px); grid-column: 1 / 2; grid-row: 1 / 3; + pointer-events: all; + transition: transform 0.1s ease-in-out; + position: relative; + z-index: 20; + &:hover { + transform: scale(2) translateX(#{D(5px)}); + z-index: 21; + } } > .amountLabel, @@ -64,19 +72,27 @@ grid-row: 1 / 2; } - &.marked .amountLabel { - &::after { - content: " "; - position: absolute; - display: inline-block; - @include S(width, 9px); - @include S(height, 9px); - opacity: 0.8; - @include S(top, -4px); - @include S(left, -4px); - background: uiResource("icons/current_goal_marker.png") center center / contain no-repeat; + &.goal, + &.blueprint { + .amountLabel { + &::after { + content: " "; + position: absolute; + display: inline-block; + @include S(width, 8px); + @include S(height, 8px); + opacity: 0.8; + @include S(top, 4px); + @include S(left, -7px); + background: uiResource("icons/current_goal_marker.png") center center / contain no-repeat; - @include DarkThemeInvert; + @include DarkThemeInvert; + } + } + + &.blueprint .amountLabel::after { + background-image: uiResource("icons/blueprint_marker.png"); + background-size: 90%; } } } diff --git a/src/js/changelog.js b/src/js/changelog.js index af65730a..4d8844c8 100644 --- a/src/js/changelog.js +++ b/src/js/changelog.js @@ -3,6 +3,7 @@ export const CHANGELOG = [ version: "1.1.2", date: "unreleased", entries: [ + "Allow hovering pinned shapes to enlarge them", "Move default key for deleting from 'X' to 'DEL'", "Show confirmation when deleting > 100 buildings", "Reintroduce 'SPACE' keybinding to center on map", diff --git a/src/js/core/config.js b/src/js/core/config.js index c84dee3a..5b802de3 100644 --- a/src/js/core/config.js +++ b/src/js/core/config.js @@ -83,7 +83,7 @@ export const globalConfig = { debug: { /* dev:start */ - // fastGameEnter: true, + fastGameEnter: true, // noArtificialDelays: true, // disableSavegameWrite: true, // showEntityBounds: true, diff --git a/src/js/game/hud/parts/pinned_shapes.js b/src/js/game/hud/parts/pinned_shapes.js index 48ab98f2..1cdfa7ba 100644 --- a/src/js/game/hud/parts/pinned_shapes.js +++ b/src/js/game/hud/parts/pinned_shapes.js @@ -74,10 +74,10 @@ export class HUDPinnedShapes extends BaseHUDPart { } this.handles = []; - this.internalPinShape(currentKey, currentGoal.required, false); + this.internalPinShape(currentKey, currentGoal.required, false, "goal"); if (this.root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_blueprints)) { - this.internalPinShape(blueprintShape, null, false); + this.internalPinShape(blueprintShape, null, false, "blueprint"); } for (let i = 0; i < this.pinnedShapes.length; ++i) { @@ -93,14 +93,19 @@ export class HUDPinnedShapes extends BaseHUDPart { * @param {string} key * @param {number} goal * @param {boolean} canUnpin + * @param {string=} className */ - internalPinShape(key, goal, canUnpin = true) { + internalPinShape(key, goal, canUnpin = true, className = null) { const definition = this.root.shapeDefinitionMgr.getShapeFromShortKey(key); const element = makeDiv(this.element, null, ["shape"]); const canvas = definition.generateAsCanvas(120); element.appendChild(canvas); + if (className) { + element.classList.add(className); + } + let detector = null; if (canUnpin) { element.classList.add("unpinable"); diff --git a/version b/version index 8cfbc905..8428158d 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.1.1 \ No newline at end of file +1.1.2 \ No newline at end of file