From 59036d0b1ef8bd7bb890e85ef074ee49be4f5b9d Mon Sep 17 00:00:00 2001 From: evanpelle Date: Sun, 6 Oct 2024 13:05:42 -0700 Subject: [PATCH] add disabled icon to radial menu --- TODO.txt | 6 ++++-- resources/countries.txt | 4 ++++ resources/images/DisabledIcon.png | Bin 0 -> 8542 bytes src/client/graphics/layers/RadialMenu.ts | 12 ++++++------ 4 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 resources/countries.txt create mode 100644 resources/images/DisabledIcon.png diff --git a/TODO.txt b/TODO.txt index 4ee09da42..2fe06560f 100644 --- a/TODO.txt +++ b/TODO.txt @@ -156,8 +156,10 @@ * BUG: center button should be disabled select island DONE 10/2/2024 * BUG: boat icon appears when click inland DONE 10/2/2024 * Auto deploy to dev on commit DONE 10/2/2024 -* add emoji button -* make disabled icon crossed out icon +* add emoji button DONE 10/4/2024 +* make disabled icon crossed out icon DONE 10/6/2024 +* disable select on mobile +* disable double tap on mobile * donate troops button * Make fake humans spawn by their country * BUG: double tap zooms on mobile diff --git a/resources/countries.txt b/resources/countries.txt new file mode 100644 index 000000000..05add4056 --- /dev/null +++ b/resources/countries.txt @@ -0,0 +1,4 @@ +clicked cell Cell[375,272] USA +clicked cell Cell[372,136] Canada +clicked cell Cell[375,374] Mexico +clicked cell Cell[500,378] Cuba diff --git a/resources/images/DisabledIcon.png b/resources/images/DisabledIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..ebec6938275c43897d5f11586691c7105cee1234 GIT binary patch literal 8542 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 Qz7F`4lK7nZK)kl@9}Y)1; private isVisible: boolean = false; private readonly menuItems = new Map([ - [Slot.Alliance, {name: "alliance", disabled: true, action: () => { }, color: null, icon: null, defaultIcon: allianceIcon}], - [Slot.Boat, {name: "boat", disabled: true, action: () => { }, color: null, icon: null, defaultIcon: boatIcon}], - [Slot.Target, {name: "target", disabled: true, action: () => { }, defaultIcon: targetIcon}], - [Slot.Emoji, {name: "emoji", disabled: true, action: () => { }, defaultIcon: emojiIcon}], + [Slot.Alliance, {name: "alliance", disabled: true, action: () => { }, color: null, icon: null}], + [Slot.Boat, {name: "boat", disabled: true, action: () => { }, color: null, icon: null}], + [Slot.Target, {name: "target", disabled: true, action: () => { }}], + [Slot.Emoji, {name: "emoji", disabled: true, action: () => { }}], ]); private readonly menuSize = 190; @@ -243,7 +244,6 @@ export class RadialMenu implements Layer { this.renderCenterButton(false) for (const item of this.menuItems.values()) { item.disabled = true - item.icon = item.defaultIcon this.updateMenuItemState(item) } @@ -427,7 +427,7 @@ export class RadialMenu implements Layer { .style('opacity', item.disabled ? 0.5 : 1); this.menuElement.select(`image[data-name="${item.name}"]`) - .attr('xlink:href', item.icon || item.defaultIcon) + .attr('xlink:href', item.disabled ? disabledIcon : item.icon) .attr('fill', item.disabled ? '#999999' : 'white'); }