Freeze world input while skill tree console is open
- Add `skillWindow` to the full-screen click guard so clicks don't steer the ship or fold panels while the skill tree is open. - Include the skill window in the shared `_frozen` condition so the world parks (throttle/velocity cleared) behind it, matching the class console and level-up marquee contract.
This commit is contained in:
parent
ea8b58e9c4
commit
c423bfa8ab
Binary file not shown.
|
Before Width: | Height: | Size: 5.7 MiB After Width: | Height: | Size: 6.0 MiB |
Binary file not shown.
|
|
@ -1988,6 +1988,8 @@ export class GameScene extends Phaser.Scene {
|
||||||
if (this.questWindow && this.questWindow.isOpen) return;
|
if (this.questWindow && this.questWindow.isOpen) return;
|
||||||
// The ship console (depth 80) — the same full-screen contract.
|
// The ship console (depth 80) — the same full-screen contract.
|
||||||
if (this.shipWindow && this.shipWindow.isOpen) return;
|
if (this.shipWindow && this.shipWindow.isOpen) return;
|
||||||
|
// The skill tree console (depth 80) — the same full-screen contract.
|
||||||
|
if (this.skillWindow && this.skillWindow.isOpen) return;
|
||||||
// Sub-bar OPEN: a click INSIDE it is its own (the panel or one of
|
// Sub-bar OPEN: a click INSIDE it is its own (the panel or one of
|
||||||
// its buttons — the buttons fire on their own pointerdown). ANY
|
// its buttons — the buttons fire on their own pointerdown). ANY
|
||||||
// click OUTSIDE — world, deck, HUD, compass — folds it back down
|
// click OUTSIDE — world, deck, HUD, compass — folds it back down
|
||||||
|
|
@ -2765,11 +2767,15 @@ export class GameScene extends Phaser.Scene {
|
||||||
// The CLASS CONSOLE's freeze (js/ui/ClassWindow.js): picking a class is a
|
// The CLASS CONSOLE's freeze (js/ui/ClassWindow.js): picking a class is a
|
||||||
// decision, not an overlay on top of the fight — the world holds exactly
|
// decision, not an overlay on top of the fight — the world holds exactly
|
||||||
// the way it does for a comm's ACK and the level-up marquee.
|
// the way it does for a comm's ACK and the level-up marquee.
|
||||||
|
// The SKILL TREE console's freeze (js/ui/SkillWindow.js): ranking skills
|
||||||
|
// and binding seats is a decision the same way — the world holds behind
|
||||||
|
// it (the cabinet idiom), and its clicks never steer the ship.
|
||||||
const _frozen =
|
const _frozen =
|
||||||
_commsPaused ||
|
_commsPaused ||
|
||||||
this.levelMarquee?.active === true ||
|
this.levelMarquee?.active === true ||
|
||||||
!!this._jumping ||
|
!!this._jumping ||
|
||||||
this.classWindow?.isOpen === true;
|
this.classWindow?.isOpen === true ||
|
||||||
|
this.skillWindow?.isOpen === true;
|
||||||
// The freeze's PARKING (the ack pause's onPause is the same contract
|
// The freeze's PARKING (the ack pause's onPause is the same contract
|
||||||
// for its own freeze): while ANY freeze holds, the action is parked
|
// for its own freeze): while ANY freeze holds, the action is parked
|
||||||
// dead EVERY frame — the ship (target + throttle cleared, velocity
|
// dead EVERY frame — the ship (target + throttle cleared, velocity
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue