Merge pull request #21 from Zarkonnen/master

Converted zero/max buttons to +-10 buttons
This commit is contained in:
Michael Townsend
2013-07-08 12:45:01 -07:00
3 changed files with 45 additions and 84 deletions
+15 -15
View File
@@ -194,7 +194,7 @@ div.button div.cooldown {
/* Up/Down buttons. They're complicated! */ /* Up/Down buttons. They're complicated! */
.upBtn, .dnBtn, .maxBtn, .zeroBtn { .upBtn, .dnBtn, .upManyBtn, .dnManyBtn {
position: absolute; position: absolute;
width: 14px; width: 14px;
height: 15px; height: 15px;
@@ -205,11 +205,11 @@ div.button div.cooldown {
right: 0px; right: 0px;
} }
.maxBtn, .zeroBtn { .upManyBtn, .dnManyBtn {
right: -11px; right: -11px;
} }
.upBtn.disabled, .dnBtn.disabled, .maxBtn.disabled, .zeroBtn.disabled { .upBtn.disabled, .dnBtn.disabled, .upManyBtn.disabled, .dnManyBtn.disabled {
cursor: default; cursor: default;
} }
@@ -217,11 +217,11 @@ div.button div.cooldown {
top: -2px; top: -2px;
} }
.maxBtn { .upManyBtn {
top: -2px; top: -2px;
} }
.upBtn:after, .upBtn:before, .maxBtn:after, .maxBtn:before { .upBtn:after, .upBtn:before, .upManyBtn:after, .upManyBtn:before {
position: absolute; position: absolute;
border: medium solid transparent; border: medium solid transparent;
content: " "; content: " ";
@@ -230,15 +230,15 @@ div.button div.cooldown {
bottom: 4px; bottom: 4px;
} }
.upBtn:after, .maxBtn:after { .upBtn:after, .upManyBtn:after {
border-color: transparent transparent white; border-color: transparent transparent white;
} }
.upBtn:before, .maxBtn:before { .upBtn:before, .upManyBtn:before {
border-color: transparent transparent black; border-color: transparent transparent black;
} }
.upBtn.disabled:before, .maxBtn.disabled:before { .upBtn.disabled:before, .upManyBtn.disabled:before {
border-color: transparent transparent #999; border-color: transparent transparent #999;
} }
@@ -247,11 +247,11 @@ div.button div.cooldown {
bottom: -3px; bottom: -3px;
} }
.zeroBtn { .dnManyBtn {
bottom: -3px; bottom: -3px;
} }
.dnBtn:after, .dnBtn:before, .zeroBtn:after, .zeroBtn:before { .dnBtn:after, .dnBtn:before, .dnManyBtn:after, .dnManyBtn:before {
position: absolute; position: absolute;
border: medium solid transparent; border: medium solid transparent;
content: " "; content: " ";
@@ -266,27 +266,27 @@ div.button div.cooldown {
margin-left: -3px; margin-left: -3px;
} }
.upBtn:before, .dnBtn:before, .maxBtn:before, .zeroBtn:before { .upBtn:before, .dnBtn:before, .upManyBtn:before, .dnManyBtn:before {
border-width: 5px; border-width: 5px;
left: 50%; left: 50%;
margin-left: -5px; margin-left: -5px;
} }
.maxBtn:after, .zeroBtn:after { .upManyBtn:after, .dnManyBtn:after {
border-width: 2px; border-width: 2px;
left: 50%; left: 50%;
margin-left: -2px; margin-left: -2px;
} }
.dnBtn:after, .zeroBtn:after { .dnBtn:after, .dnManyBtn:after {
border-color: white transparent transparent; border-color: white transparent transparent;
} }
.dnBtn:before, .zeroBtn:before { .dnBtn:before, .dnManyBtn:before {
border-color: black transparent transparent; border-color: black transparent transparent;
} }
.dnBtn.disabled:before, .zeroBtn.disabled:before { .dnBtn.disabled:before, .dnManyBtn.disabled:before {
border-color: #999 transparent transparent; border-color: #999 transparent transparent;
} }
+14 -32
View File
@@ -296,10 +296,10 @@ var Outside = {
numGatherers -= State.outside.workers[k]; numGatherers -= State.outside.workers[k];
if(State.outside.workers[k] == 0) { if(State.outside.workers[k] == 0) {
$('.dnBtn', row).addClass('disabled'); $('.dnBtn', row).addClass('disabled');
$('.zeroBtn', row).addClass('disabled'); $('.dnManyBtn', row).addClass('disabled');
} else { } else {
$('.dnBtn', row).removeClass('disabled'); $('.dnBtn', row).removeClass('disabled');
$('.zeroBtn', row).removeClass('disabled'); $('.dnManyBtn', row).removeClass('disabled');
} }
} }
@@ -312,10 +312,10 @@ var Outside = {
if(numGatherers == 0) { if(numGatherers == 0) {
$('.upBtn', '#workers').addClass('disabled'); $('.upBtn', '#workers').addClass('disabled');
$('.maxBtn', '#workers').addClass('disabled'); $('.upManyBtn', '#workers').addClass('disabled');
} else { } else {
$('.upBtn', '#workers').removeClass('disabled'); $('.upBtn', '#workers').removeClass('disabled');
$('.maxBtn', '#workers').removeClass('disabled'); $('.upManyBtn', '#workers').removeClass('disabled');
} }
@@ -342,10 +342,10 @@ var Outside = {
$('<span>').text(num).appendTo(val); $('<span>').text(num).appendTo(val);
if(name != 'gatherer') { if(name != 'gatherer') {
$('<div>').addClass('maxBtn').appendTo(val).click(Outside.maxWorker); $('<div>').addClass('upManyBtn').appendTo(val).click([10], Outside.increaseWorker);
$('<div>').addClass('upBtn').appendTo(val).click(Outside.increaseWorker); $('<div>').addClass('upBtn').appendTo(val).click([1], Outside.increaseWorker);
$('<div>').addClass('dnBtn').appendTo(val).click(Outside.decreaseWorker); $('<div>').addClass('dnBtn').appendTo(val).click([1], Outside.decreaseWorker);
$('<div>').addClass('zeroBtn').appendTo(val).click(Outside.zeroWorker); $('<div>').addClass('dnManyBtn').appendTo(val).click([10], Outside.decreaseWorker);
} }
$('<div>').addClass('clear').appendTo(row); $('<div>').addClass('clear').appendTo(row);
@@ -365,8 +365,9 @@ var Outside = {
increaseWorker: function(btn) { increaseWorker: function(btn) {
var worker = $(this).closest('.workerRow').children('.row_key').text(); var worker = $(this).closest('.workerRow').children('.row_key').text();
if(Outside.getNumGatherers() > 0) { if(Outside.getNumGatherers() > 0) {
Engine.log('increasing ' + worker); var increaseAmt = Math.min(Outside.getNumGatherers(), btn.data);
State.outside.workers[worker]++; Engine.log('increasing ' + worker + ' by ' + increaseAmt);
State.outside.workers[worker] += increaseAmt;
Outside.updateVillageIncome(); Outside.updateVillageIncome();
Outside.updateWorkersView(); Outside.updateWorkersView();
} }
@@ -375,28 +376,9 @@ var Outside = {
decreaseWorker: function(btn) { decreaseWorker: function(btn) {
var worker = $(this).closest('.workerRow').children('.row_key').text(); var worker = $(this).closest('.workerRow').children('.row_key').text();
if(State.outside.workers[worker] > 0) { if(State.outside.workers[worker] > 0) {
Engine.log('decreasing ' + worker); var decreaseAmt = Math.min(State.outside.workers[worker] || 0, btn.data);
State.outside.workers[worker]--; Engine.log('decreasing ' + worker + ' by ' + decreaseAmt);
Outside.updateVillageIncome(); State.outside.workers[worker] -= decreaseAmt;
Outside.updateWorkersView();
}
},
maxWorker: function(btn) {
var worker = $(this).closest('.workerRow').children('.row_key').text();
if(Outside.getNumGatherers() > 0) {
Engine.log('maxing ' + worker);
State.outside.workers[worker] += Outside.getNumGatherers();
Outside.updateVillageIncome();
Outside.updateWorkersView();
}
},
zeroWorker: function(btn) {
var worker = $(this).closest('.workerRow').children('.row_key').text();
if(State.outside.workers[worker] > 0) {
Engine.log('zeroing ' + worker);
State.outside.workers[worker] = 0;
Outside.updateVillageIncome(); Outside.updateVillageIncome();
Outside.updateWorkersView(); Outside.updateWorkersView();
} }
+16 -37
View File
@@ -194,17 +194,17 @@ var Path = {
} }
if(num == 0) { if(num == 0) {
$('.dnBtn', row).addClass('disabled'); $('.dnBtn', row).addClass('disabled');
$('.zeroBtn', row).addClass('disabled'); $('.dnManyBtn', row).addClass('disabled');
} else { } else {
$('.dnBtn', row).removeClass('disabled'); $('.dnBtn', row).removeClass('disabled');
$('.zeroBtn', row).removeClass('disabled'); $('.dnManyBtn', row).removeClass('disabled');
} }
if(num >= numAvailable || space < Path.getWeight(k)) { if(num >= numAvailable || space < Path.getWeight(k)) {
$('.upBtn', row).addClass('disabled'); $('.upBtn', row).addClass('disabled');
$('.maxBtn', row).addClass('disabled'); $('.upManyBtn', row).addClass('disabled');
} else if(space >= Path.getWeight(k)) { } else if(space >= Path.getWeight(k)) {
$('.upBtn', row).removeClass('disabled'); $('.upBtn', row).removeClass('disabled');
$('.maxBtn', row).removeClass('disabled'); $('.upManyBtn', row).removeClass('disabled');
} }
} else if(have == 0 && row.length > 0) { } else if(have == 0 && row.length > 0) {
row.remove(); row.remove();
@@ -227,10 +227,10 @@ var Path = {
var val = $('<div>').addClass('row_val').appendTo(row); var val = $('<div>').addClass('row_val').appendTo(row);
$('<span>').text(num).appendTo(val); $('<span>').text(num).appendTo(val);
$('<div>').addClass('upBtn').appendTo(val).click(Path.increaseSupply); $('<div>').addClass('upBtn').appendTo(val).click([1], Path.increaseSupply);
$('<div>').addClass('dnBtn').appendTo(val).click(Path.decreaseSupply); $('<div>').addClass('dnBtn').appendTo(val).click([1], Path.decreaseSupply);
$('<div>').addClass('maxBtn').appendTo(val).click(Path.maxSupply); $('<div>').addClass('upManyBtn').appendTo(val).click([10], Path.increaseSupply);
$('<div>').addClass('zeroBtn').appendTo(val).click(Path.zeroSupply); $('<div>').addClass('dnManyBtn').appendTo(val).click([10], Path.decreaseSupply);
$('<div>').addClass('clear').appendTo(row); $('<div>').addClass('clear').appendTo(row);
var numAvailable = Engine.getStore(name); var numAvailable = Engine.getStore(name);
@@ -243,48 +243,27 @@ var Path = {
return row; return row;
}, },
increaseSupply: function() { increaseSupply: function(btn) {
var supply = $(this).closest('.outfitRow').children('.row_key').text().replace('-', ' '); var supply = $(this).closest('.outfitRow').children('.row_key').text().replace('-', ' ');
Engine.log('increasing ' + supply); Engine.log('increasing ' + supply + ' by up to ' + btn.data);
var cur = Path.outfit[supply];
cur = typeof cur == 'number' ? cur : 0;
if(Path.getFreeSpace() >= Path.getWeight(supply) && cur < Engine.getStore(supply)) {
Path.outfit[supply] = cur + 1;
Path.updateOutfitting();
}
},
decreaseSupply: function() {
var supply = $(this).closest('.outfitRow').children('.row_key').text().replace('-', ' ');
Engine.log('decreasing ' + supply);
var cur = Path.outfit[supply];
cur = typeof cur == 'number' ? cur : 0;
if(cur > 0) {
Path.outfit[supply] = cur - 1;
Path.updateOutfitting();
}
},
maxSupply: function() {
var supply = $(this).closest('.outfitRow').children('.row_key').text().replace('-', ' ');
Engine.log('maxing ' + supply);
var cur = Path.outfit[supply]; var cur = Path.outfit[supply];
cur = typeof cur == 'number' ? cur : 0; cur = typeof cur == 'number' ? cur : 0;
if(Path.getFreeSpace() >= Path.getWeight(supply) && cur < Engine.getStore(supply)) { if(Path.getFreeSpace() >= Path.getWeight(supply) && cur < Engine.getStore(supply)) {
var maxExtraByWeight = Math.floor(Path.getFreeSpace() / Path.getWeight(supply)); var maxExtraByWeight = Math.floor(Path.getFreeSpace() / Path.getWeight(supply));
var maxExtraByStore = Engine.getStore(supply) - cur; var maxExtraByStore = Engine.getStore(supply) - cur;
Path.outfit[supply] = cur + Math.min(maxExtraByWeight, maxExtraByStore); var maxExtraByBtn = btn.data;
Path.outfit[supply] = cur + Math.min(maxExtraByBtn, Math.min(maxExtraByWeight, maxExtraByStore));
Path.updateOutfitting(); Path.updateOutfitting();
} }
}, },
zeroSupply: function() { decreaseSupply: function(btn) {
var supply = $(this).closest('.outfitRow').children('.row_key').text().replace('-', ' '); var supply = $(this).closest('.outfitRow').children('.row_key').text().replace('-', ' ');
Engine.log('zeroing ' + supply); Engine.log('decreasing ' + supply + ' by up to ' + btn.data);
var cur = Path.outfit[supply]; var cur = Path.outfit[supply];
cur = typeof cur == 'number' ? cur : 0; cur = typeof cur == 'number' ? cur : 0;
if(cur > 0) { if(cur > 0) {
Path.outfit[supply] = 0; Path.outfit[supply] = Math.max(0, cur - btn.data);
Path.updateOutfitting(); Path.updateOutfitting();
} }
}, },