feat: refine battle feedback and early guidance
This commit is contained in:
@@ -123,7 +123,16 @@ export class StoryScene extends Phaser.Scene {
|
||||
? { x: progressPanelBounds.x, y: progressPanelBounds.y, width: progressPanelBounds.width, height: progressPanelBounds.height }
|
||||
: null,
|
||||
isLastPage,
|
||||
advanceHint: isLastPage ? 'continue' : 'next',
|
||||
advanceHint:
|
||||
isLastPage && this.nextScene === 'BattleScene'
|
||||
? 'battle-deployment'
|
||||
: isLastPage && this.nextScene === 'CampScene'
|
||||
? 'camp-return'
|
||||
: isLastPage
|
||||
? 'continue'
|
||||
: 'next',
|
||||
advanceLabel: this.progressActionLabel(isLastPage),
|
||||
nextScene: this.nextScene,
|
||||
cutsceneKind: page?.cutscene?.kind ?? null,
|
||||
cutsceneActors: page?.cutscene?.actors?.map((actor) => actor.unitId) ?? []
|
||||
};
|
||||
@@ -312,9 +321,9 @@ export class StoryScene extends Phaser.Scene {
|
||||
});
|
||||
this.bodyText.setDepth(dialogDepth + 2);
|
||||
|
||||
const progressX = width - ui(174);
|
||||
const progressX = width - ui(214);
|
||||
const progressY = panelY + panelH + ui(20);
|
||||
this.progressBackground = this.add.rectangle(progressX, progressY, ui(300), ui(34), cutsceneUiColors.ink, 0.82);
|
||||
this.progressBackground = this.add.rectangle(progressX, progressY, ui(380), ui(34), cutsceneUiColors.ink, 0.82);
|
||||
this.progressBackground.setStrokeStyle(ui(1), palette.gold, 0.42);
|
||||
this.progressBackground.setDepth(dialogDepth + 1);
|
||||
|
||||
@@ -324,7 +333,7 @@ export class StoryScene extends Phaser.Scene {
|
||||
color: '#d8b15f',
|
||||
fontStyle: '700',
|
||||
align: 'center',
|
||||
fixedWidth: ui(276)
|
||||
fixedWidth: ui(356)
|
||||
});
|
||||
this.progressText.setOrigin(0.5);
|
||||
this.progressText.setDepth(dialogDepth + 2);
|
||||
@@ -404,10 +413,23 @@ export class StoryScene extends Phaser.Scene {
|
||||
this.bodyText?.setText(page.text);
|
||||
const isLastPage = this.pageIndex >= this.pages.length - 1;
|
||||
this.progressText?.setText(
|
||||
`${this.pageIndex + 1} / ${this.pages.length} · 클릭 / 스페이스·엔터 · ${isLastPage ? '계속' : '다음'}`
|
||||
`${this.pageIndex + 1} / ${this.pages.length} · 클릭 / 스페이스·엔터 · ${this.progressActionLabel(isLastPage)}`
|
||||
);
|
||||
}
|
||||
|
||||
private progressActionLabel(isLastPage = this.pageIndex >= this.pages.length - 1) {
|
||||
if (!isLastPage) {
|
||||
return '다음';
|
||||
}
|
||||
if (this.nextScene === 'BattleScene') {
|
||||
return '전투 배치';
|
||||
}
|
||||
if (this.nextScene === 'CampScene') {
|
||||
return '군영으로';
|
||||
}
|
||||
return '계속';
|
||||
}
|
||||
|
||||
private pagePortraitKey(page: StoryPage) {
|
||||
return page.portrait ?? portraitKeyForSpeaker(page.speaker);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user