From 934e4a1d450b84b55c33cb08e7f047708ca4030a Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@gmail.com> Date: Thu, 12 Mar 2020 14:47:18 +0100 Subject: [PATCH] add invisible filler cell for special layouts --- src/003-assets/CSS/arcologyBuilding.css | 6 +++++- src/arcologyBuilding/base.js | 2 +- src/arcologyBuilding/filler.js | 25 +++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 src/arcologyBuilding/filler.js diff --git a/src/003-assets/CSS/arcologyBuilding.css b/src/003-assets/CSS/arcologyBuilding.css index 750410612e3..812ac241777 100644 --- a/src/003-assets/CSS/arcologyBuilding.css +++ b/src/003-assets/CSS/arcologyBuilding.css @@ -23,7 +23,7 @@ div.building div.outerCell { flex-direction: row; } -div.building div.innerCell { +div.building div.innerCell:not(.filler) { margin: 3px; border: 5px solid; padding: 2px; @@ -154,3 +154,7 @@ div.building div.row div.transportHub { div.building div.row div.weaponsManufacturing { border-color: springgreen; } + +div.building div.row div.filler { + border-color: transparent; +} diff --git a/src/arcologyBuilding/base.js b/src/arcologyBuilding/base.js index df7d221c991..c33ece874ae 100644 --- a/src/arcologyBuilding/base.js +++ b/src/arcologyBuilding/base.js @@ -26,7 +26,7 @@ App.Arcology.cellUpgrade = function(building, cellClass, cellType, newType, key * Updates V.arcologies[0].ownership. */ App.Arcology.updateOwnership = function() { - const allCells = V.building.findCells(() => true); + const allCells = V.building.findCells(cell => !(cell instanceof App.Arcology.Cell.Filler)); const ownedCells = allCells.filter(cell => cell.owner === 1); const ratio = ownedCells.length / allCells.length; diff --git a/src/arcologyBuilding/filler.js b/src/arcologyBuilding/filler.js new file mode 100644 index 00000000000..5b0ba2faa76 --- /dev/null +++ b/src/arcologyBuilding/filler.js @@ -0,0 +1,25 @@ +App.Arcology.Cell.Filler = class extends App.Arcology.Cell.BaseCell { + constructor(width) { + super(1); + this._width = width; + } + + get width() { + return this._width; + } + + get colorClass() { + return "filler"; + } + + get className() { return "App.Arcology.Cell.Filler"; } + + static _cleanupConfigScheme(config) { + super._cleanupConfigScheme(config); + // BC code + } + + clone() { + return (new App.Arcology.Cell.Filler())._init(this); + } +}; -- GitLab