[UI/UX] Adding options to see mons with only one or only two cost reductions (#5045)
This commit is contained in:
parent
ce30897c0a
commit
f551c51413
|
@ -7,7 +7,9 @@ export enum DropDownState {
|
|||
ON = 0,
|
||||
OFF = 1,
|
||||
EXCLUDE = 2,
|
||||
UNLOCKABLE = 3
|
||||
UNLOCKABLE = 3,
|
||||
ONE = 4,
|
||||
TWO = 5
|
||||
}
|
||||
|
||||
export enum DropDownType {
|
||||
|
@ -55,6 +57,8 @@ export class DropDownOption extends Phaser.GameObjects.Container {
|
|||
private offColor = 0x272727;
|
||||
private excludeColor = 0xff5555;
|
||||
private unlockableColor = 0xffff00;
|
||||
private oneColor = 0x33bbff;
|
||||
private twoColor = 0x33bbff;
|
||||
|
||||
constructor(val: any, labels: DropDownLabel | DropDownLabel[]) {
|
||||
super(globalScene);
|
||||
|
@ -126,6 +130,12 @@ export class DropDownOption extends Phaser.GameObjects.Container {
|
|||
case DropDownState.UNLOCKABLE:
|
||||
this.toggle.setTint(this.unlockableColor);
|
||||
break;
|
||||
case DropDownState.ONE:
|
||||
this.toggle.setTint(this.oneColor);
|
||||
break;
|
||||
case DropDownState.TWO:
|
||||
this.toggle.setTint(this.twoColor);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -450,6 +450,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||
const costReductionLabels = [
|
||||
new DropDownLabel(i18next.t("filterBar:costReduction"), undefined, DropDownState.OFF),
|
||||
new DropDownLabel(i18next.t("filterBar:costReductionUnlocked"), undefined, DropDownState.ON),
|
||||
new DropDownLabel(i18next.t("filterBar:costReductionUnlockedOne"), undefined, DropDownState.ONE),
|
||||
new DropDownLabel(i18next.t("filterBar:costReductionUnlockedTwo"), undefined, DropDownState.TWO),
|
||||
new DropDownLabel(i18next.t("filterBar:costReductionUnlockable"), undefined, DropDownState.UNLOCKABLE),
|
||||
new DropDownLabel(i18next.t("filterBar:costReductionLocked"), undefined, DropDownState.EXCLUDE),
|
||||
];
|
||||
|
@ -2585,13 +2587,18 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||
});
|
||||
|
||||
// Cost Reduction Filter
|
||||
const isCostReduced = starterData.valueReduction > 0;
|
||||
const isCostReducedByOne = starterData.valueReduction === 1;
|
||||
const isCostReducedByTwo = starterData.valueReduction === 2;
|
||||
const isCostReductionUnlockable = this.isValueReductionAvailable(container.species.speciesId);
|
||||
const fitsCostReduction = this.filterBar.getVals(DropDownColumn.UNLOCKS).some(unlocks => {
|
||||
if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.ON) {
|
||||
return isCostReduced;
|
||||
return isCostReducedByOne || isCostReducedByTwo;
|
||||
} else if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.ONE) {
|
||||
return isCostReducedByOne;
|
||||
} else if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.TWO) {
|
||||
return isCostReducedByTwo;
|
||||
} else if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.EXCLUDE) {
|
||||
return isStarterProgressable && !isCostReduced;
|
||||
return isStarterProgressable && !(isCostReducedByOne || isCostReducedByTwo);
|
||||
} else if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.UNLOCKABLE) {
|
||||
return isCostReductionUnlockable;
|
||||
} else if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.OFF) {
|
||||
|
|
Loading…
Reference in New Issue