diff --git a/src/js/game/achievement_proxy.js b/src/js/game/achievement_proxy.js index 9077b283..abc7bb62 100644 --- a/src/js/game/achievement_proxy.js +++ b/src/js/game/achievement_proxy.js @@ -52,7 +52,7 @@ export class AchievementProxy { } initialize() { - this.root.signals.achievementCheck.dispatch(ACHIEVEMENTS.darkMode, null); + this.root.signals.achievementCheck.dispatch(ACHIEVEMENTS.darkMode); if (this.has(ACHIEVEMENTS.mam)) { this.root.signals.entityAdded.add(this.onMamFailure, this); @@ -142,7 +142,7 @@ export class AchievementProxy { this.root.signals.entityDestroyed.add(this.onMamFailure, this); } - this.root.signals.achievementCheck.dispatch(ACHIEVEMENTS.mam, null); + this.root.signals.achievementCheck.dispatch(ACHIEVEMENTS.mam); // reset on every level this.root.savegame.currentData.stats.failedMam = false; diff --git a/src/js/game/root.js b/src/js/game/root.js index 64004e9d..e0c8972b 100644 --- a/src/js/game/root.js +++ b/src/js/game/root.js @@ -187,7 +187,7 @@ export class GameRoot { freeEntityAreaBeforeBuild: /** @type {TypedSignal<[Entity]>} */ (new Signal()), // Called with an achievement key and necessary args to validate it can be unlocked. - achievementCheck: /** @type {TypedSignal<[string, any]>} */ (new Signal()), + achievementCheck: /** @type {TypedSignal<[string, ...(any)[]]>} */ (new Signal()), bulkAchievementCheck: /** @type {TypedSignal<(string|any)[]>} */ (new Signal()), // Puzzle mode diff --git a/src/js/game/shape_definition_manager.js b/src/js/game/shape_definition_manager.js index 89203f1e..92fc9538 100644 --- a/src/js/game/shape_definition_manager.js +++ b/src/js/game/shape_definition_manager.js @@ -97,7 +97,7 @@ export class ShapeDefinitionManager extends BasicSerializableObject { const rightSide = definition.cloneFilteredByQuadrants([2, 3]); const leftSide = definition.cloneFilteredByQuadrants([0, 1]); - this.root.signals.achievementCheck.dispatch(ACHIEVEMENTS.cutShape, null); + this.root.signals.achievementCheck.dispatch(ACHIEVEMENTS.cutShape); return /** @type {[ShapeDefinition, ShapeDefinition]} */ (this.operationCache[key] = [ this.registerOrReturnHandle(rightSide), @@ -140,7 +140,7 @@ export class ShapeDefinitionManager extends BasicSerializableObject { const rotated = definition.cloneRotateCW(); - this.root.signals.achievementCheck.dispatch(ACHIEVEMENTS.rotateShape, null); + this.root.signals.achievementCheck.dispatch(ACHIEVEMENTS.rotateShape); return /** @type {ShapeDefinition} */ (this.operationCache[key] = this.registerOrReturnHandle( rotated @@ -195,7 +195,7 @@ export class ShapeDefinitionManager extends BasicSerializableObject { return /** @type {ShapeDefinition} */ (this.operationCache[key]); } - this.root.signals.achievementCheck.dispatch(ACHIEVEMENTS.stackShape, null); + this.root.signals.achievementCheck.dispatch(ACHIEVEMENTS.stackShape); const stacked = lowerDefinition.cloneAndStackWith(upperDefinition); return /** @type {ShapeDefinition} */ (this.operationCache[key] = this.registerOrReturnHandle( @@ -215,7 +215,7 @@ export class ShapeDefinitionManager extends BasicSerializableObject { return /** @type {ShapeDefinition} */ (this.operationCache[key]); } - this.root.signals.achievementCheck.dispatch(ACHIEVEMENTS.paintShape, null); + this.root.signals.achievementCheck.dispatch(ACHIEVEMENTS.paintShape); const colorized = definition.cloneAndPaintWith(color); return /** @type {ShapeDefinition} */ (this.operationCache[key] = this.registerOrReturnHandle( diff --git a/src/js/platform/achievement_provider.js b/src/js/platform/achievement_provider.js index 3b60ad95..d236ad1d 100644 --- a/src/js/platform/achievement_provider.js +++ b/src/js/platform/achievement_provider.js @@ -328,7 +328,7 @@ export class AchievementCollection { * @param {string} key - Maps to an Achievement * @param {any} data - Data received from signal dispatches for validation */ - unlock(key, data) { + unlock(key, data = null) { if (!this.map.has(key)) { return; } @@ -597,7 +597,7 @@ export class AchievementCollection { /** @param {Achievement} achievement */ initStore100Unique({ key }) { - this.unlock(key, null); + this.unlock(key); } /** @returns {boolean} */ @@ -607,7 +607,7 @@ export class AchievementCollection { /** @param {Achievement} achievement */ initStoreShape({ key }) { - this.unlock(key, null); + this.unlock(key); } /** @returns {boolean} */