Tighten early battle QA polish

This commit is contained in:
2026-06-28 17:17:50 +09:00
parent 2efb446a69
commit 42c849eb2a
2 changed files with 25 additions and 22 deletions

View File

@@ -3192,11 +3192,6 @@ export class BattleScene extends Phaser.Scene {
color: '#9aa3ad',
wordWrap: { width: panelWidth - 48, useAdvancedWrap: true }
});
this.add.text(panelX + 24, panelY + panelHeight - 172, '가장자리 커서 / 미니맵 클릭으로 시야 이동', {
fontFamily: '"Malgun Gothic", "Noto Sans KR", sans-serif',
fontSize: '14px',
color: '#9aa3ad'
});
this.updateObjectiveTracker();
this.drawMiniMap();
}
@@ -3511,20 +3506,20 @@ export class BattleScene extends Phaser.Scene {
this.layout.tileSize,
this.layout.tileSize,
palette.blue,
0.24
0.34
);
marker.setData('tileX', x);
marker.setData('tileY', y);
marker.setOrigin(0);
marker.setStrokeStyle(1, palette.blue, 0.68);
marker.setStrokeStyle(2, palette.blue, 0.84);
marker.setDepth(4);
if (this.mapMask) {
marker.setMask(this.mapMask);
}
marker.setVisible(this.isTileVisible(x, y));
marker.setInteractive({ useHandCursor: true });
marker.on('pointerover', () => marker.setFillStyle(palette.blue, 0.36));
marker.on('pointerout', () => marker.setFillStyle(palette.blue, 0.24));
marker.on('pointerover', () => marker.setFillStyle(palette.blue, 0.48));
marker.on('pointerout', () => marker.setFillStyle(palette.blue, 0.34));
marker.on('pointerdown', (pointer: Phaser.Input.Pointer) => {
if (pointer.leftButtonDown()) {
this.moveSelectedUnit(x, y, pointer);
@@ -9421,6 +9416,10 @@ export class BattleScene extends Phaser.Scene {
return this.layout.panelY + 152;
}
private sideContentBottom(padding = 16) {
return (this.miniMapLayout?.y ?? this.layout.panelY + this.layout.panelHeight - 140) - padding;
}
private renderBondPanel(message?: string) {
this.clearSidePanelContent();
const { panelX, panelWidth } = this.layout;
@@ -9905,6 +9904,11 @@ export class BattleScene extends Phaser.Scene {
this.renderStatRow(stat.label, unit.stats[stat.key], left, statTop + index * 28, width);
});
if (message) {
this.renderPanelMessage(message, left, top + 306, width, 66);
return;
}
const positionText = `위치 ${unit.x + 1}, ${unit.y + 1} / ${terrainRule.label} ${terrainRating}%${acted ? ' / 행동완료' : ''}`;
this.trackSideObject(this.add.text(left, top + 306, positionText, {
fontFamily: '"Malgun Gothic", "Noto Sans KR", sans-serif',
@@ -9913,10 +9917,6 @@ export class BattleScene extends Phaser.Scene {
}));
this.renderEquipmentSummary(unit, left, top + 330, width);
if (message) {
this.renderPanelMessage(message, left, top + 440, width, 50);
}
}
private renderEquipmentSummary(unit: UnitData, x: number, y: number, width: number) {
@@ -10072,16 +10072,19 @@ export class BattleScene extends Phaser.Scene {
}
private renderPanelMessage(text: string, x: number, y: number, width: number, height = 74) {
const bg = this.trackSideObject(this.add.rectangle(x, y, width, height, 0x101820, 0.72));
const safeY = Math.max(this.sideContentTop(), Math.min(y, this.sideContentBottom() - height));
const bg = this.trackSideObject(this.add.rectangle(x, safeY, width, height, 0x101820, 0.82));
bg.setOrigin(0);
bg.setStrokeStyle(1, 0x53606c, 0.42);
this.trackSideObject(this.add.text(x + 12, y + 10, text, {
const messageText = this.trackSideObject(this.add.text(x + 12, safeY + 10, text, {
fontFamily: '"Malgun Gothic", "Noto Sans KR", sans-serif',
fontSize: height < 60 ? '13px' : '15px',
color: '#d4dce6',
wordWrap: { width: width - 24, useAdvancedWrap: true },
lineSpacing: height < 60 ? 2 : 4
}));
bg.setDepth(32);
messageText.setDepth(33);
}
private returnToRosterPanel(tab: RosterTab) {