Skip to content

Commit bd288ad

Browse files
authored
[UI] Adding container to set transparency of optionSelectText (#5396)
1 parent b1b71db commit bd288ad

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

src/ui/abstact-option-select-ui-handler.ts

+12-8
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const scrollDownLabel = "↓";
3535

3636
export default abstract class AbstractOptionSelectUiHandler extends UiHandler {
3737
protected optionSelectContainer: Phaser.GameObjects.Container;
38+
protected optionSelectTextContainer: Phaser.GameObjects.Container;
3839
protected optionSelectBg: Phaser.GameObjects.NineSlice;
3940
protected optionSelectText: BBCodeText;
4041
protected optionSelectIcons: Phaser.GameObjects.Sprite[];
@@ -53,6 +54,7 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler {
5354
protected unskippedIndices: number[] = [];
5455

5556
protected defaultTextStyle: TextStyle = TextStyle.WINDOW;
57+
protected textContent: string;
5658

5759

5860
constructor(mode: Mode | null) {
@@ -78,6 +80,9 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler {
7880
this.optionSelectBg.setOrigin(1, 1);
7981
this.optionSelectContainer.add(this.optionSelectBg);
8082

83+
this.optionSelectTextContainer = globalScene.add.container(0, 0);
84+
this.optionSelectContainer.add(this.optionSelectTextContainer);
85+
8186
this.optionSelectIcons = [];
8287

8388
this.scale = getTextStyleOptions(TextStyle.WINDOW, globalScene.uiTheme).scale;
@@ -123,19 +128,18 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler {
123128
);
124129
this.optionSelectText.setOrigin(0, 0);
125130
this.optionSelectText.setName("text-option-select");
126-
this.optionSelectContainer.add(this.optionSelectText);
131+
this.optionSelectTextContainer.add(this.optionSelectText);
127132
this.optionSelectContainer.setPosition((globalScene.game.canvas.width / 6) - 1 - (this.config?.xOffset || 0), -48 + (this.config?.yOffset || 0));
128133
this.optionSelectBg.width = Math.max(this.optionSelectText.displayWidth + 24, this.getWindowWidth());
129134
this.optionSelectBg.height = this.getWindowHeight();
130-
this.optionSelectText.setPosition(this.optionSelectBg.x - this.optionSelectBg.width + 12 + 24 * this.scale, this.optionSelectBg.y - this.optionSelectBg.height + 2 + 42 * this.scale);
135+
this.optionSelectTextContainer.setPosition(this.optionSelectBg.x - this.optionSelectBg.width + 12 + 24 * this.scale, this.optionSelectBg.y - this.optionSelectBg.height + 2 + 42 * this.scale);
131136

132137
// Now that the container and background widths are established, we can set up the proper text restricted to visible options
133-
this.optionSelectText.setText(optionsWithScroll.map(o => o.item
138+
this.textContent = optionsWithScroll.map(o => o.item
134139
? `[shadow=${getTextColor(o.style ?? this.defaultTextStyle, true, globalScene.uiTheme)}][color=${getTextColor(o.style ?? TextStyle.WINDOW, false, globalScene.uiTheme)}] ${o.label}[/color][/shadow]`
135140
: `[shadow=${getTextColor(o.style ?? this.defaultTextStyle, true, globalScene.uiTheme)}][color=${getTextColor(o.style ?? TextStyle.WINDOW, false, globalScene.uiTheme)}]${o.label}[/color][/shadow]`
136-
).join("\n")
137-
138-
);
141+
).join("\n");
142+
this.optionSelectText.setText(this.textContent);
139143

140144
options.forEach((option: OptionSelectItem, i: number) => {
141145
if (option.item) {
@@ -184,7 +188,7 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler {
184188

185189
if (this.config.delay) {
186190
this.blockInput = true;
187-
this.optionSelectText.setAlpha(0.5);
191+
this.optionSelectTextContainer.setAlpha(0.5);
188192
this.cursorObj?.setAlpha(0.8);
189193
globalScene.time.delayedCall(Utils.fixedInt(this.config.delay), () => this.unblockInput());
190194
}
@@ -278,7 +282,7 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler {
278282
}
279283

280284
this.blockInput = false;
281-
this.optionSelectText.setAlpha(1);
285+
this.optionSelectTextContainer.setAlpha(1);
282286
this.cursorObj?.setAlpha(1);
283287
}
284288

0 commit comments

Comments
 (0)