Stabilize early campaign QA flow
This commit is contained in:
@@ -4072,16 +4072,17 @@ export class BattleScene extends Phaser.Scene {
|
||||
}
|
||||
|
||||
const visible = this.isTileVisible(unit.x, unit.y);
|
||||
view.sprite.postFX.clear();
|
||||
view.sprite.clearTint();
|
||||
this.clearUnitSpriteEffects(view.sprite);
|
||||
view.sprite.setAlpha(1);
|
||||
view.sprite.setVisible(visible);
|
||||
this.setUnitHitZoneEnabled(view, visible);
|
||||
|
||||
view.label.setVisible(visible);
|
||||
view.label.setAlpha(1);
|
||||
view.label.setColor(unit.faction === 'ally' ? '#e7edf7' : '#ffebe7');
|
||||
view.label.setBackgroundColor('');
|
||||
this.updateUnitLabel(view, (label) => {
|
||||
label.setVisible(visible);
|
||||
label.setAlpha(1);
|
||||
label.setColor(unit.faction === 'ally' ? '#e7edf7' : '#ffebe7');
|
||||
label.setBackgroundColor('');
|
||||
});
|
||||
}
|
||||
|
||||
private isTileVisible(x: number, y: number) {
|
||||
@@ -7549,7 +7550,7 @@ export class BattleScene extends Phaser.Scene {
|
||||
}
|
||||
|
||||
private truncateUiText(text: string, maxLength: number) {
|
||||
return text.length > maxLength ? `${text.slice(0, Math.max(0, maxLength - 3))}...` : text;
|
||||
return text.length > maxLength ? `${text.slice(0, Math.max(0, maxLength - 1))}…` : text;
|
||||
}
|
||||
|
||||
private previewActionLabel(preview: CombatPreview) {
|
||||
@@ -13640,8 +13641,7 @@ export class BattleScene extends Phaser.Scene {
|
||||
this.applyDefeatedStyle(unit);
|
||||
return;
|
||||
}
|
||||
view.sprite.postFX.clear();
|
||||
view.sprite.clearTint();
|
||||
this.clearUnitSpriteEffects(view.sprite);
|
||||
view.sprite.setAlpha(1);
|
||||
if (unit) {
|
||||
this.syncUnitMotion(unit, view);
|
||||
@@ -13649,9 +13649,11 @@ export class BattleScene extends Phaser.Scene {
|
||||
} else {
|
||||
this.stopUnitWalk(view, view.direction);
|
||||
}
|
||||
view.label.setAlpha(1);
|
||||
view.label.setColor(unit?.faction === 'ally' ? '#e7edf7' : '#ffebe7');
|
||||
view.label.setBackgroundColor('');
|
||||
this.updateUnitLabel(view, (label) => {
|
||||
label.setAlpha(1);
|
||||
label.setColor(unit?.faction === 'ally' ? '#e7edf7' : '#ffebe7');
|
||||
label.setBackgroundColor('');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -14657,6 +14659,23 @@ export class BattleScene extends Phaser.Scene {
|
||||
sprite.setBlendMode(Phaser.BlendModes.NORMAL);
|
||||
}
|
||||
|
||||
private clearUnitSpriteEffects(sprite: Phaser.GameObjects.Sprite) {
|
||||
sprite.postFX?.clear();
|
||||
sprite.clearTint();
|
||||
}
|
||||
|
||||
private updateUnitLabel(view: UnitView, update: (label: Phaser.GameObjects.Text) => void) {
|
||||
if (!view.label.active || view.label.scene !== this) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
update(view.label);
|
||||
} catch {
|
||||
// Canvas text internals can already be disposed during fast scene transitions.
|
||||
}
|
||||
}
|
||||
|
||||
private playUnitActionFrames(
|
||||
sprite: Phaser.GameObjects.Sprite,
|
||||
unit: UnitData,
|
||||
@@ -14700,8 +14719,7 @@ export class BattleScene extends Phaser.Scene {
|
||||
return;
|
||||
}
|
||||
|
||||
view.sprite.postFX.clear();
|
||||
view.sprite.clearTint();
|
||||
this.clearUnitSpriteEffects(view.sprite);
|
||||
this.syncUnitMotion(unit, view);
|
||||
this.applyUnitLegibilityStyle(unit, view);
|
||||
}
|
||||
@@ -14715,15 +14733,16 @@ export class BattleScene extends Phaser.Scene {
|
||||
|
||||
view.sprite.stop();
|
||||
view.sprite.disableInteractive();
|
||||
view.sprite.postFX.clear();
|
||||
view.sprite.clearTint();
|
||||
this.clearUnitSpriteEffects(view.sprite);
|
||||
view.sprite.setAlpha(0);
|
||||
view.sprite.setVisible(false);
|
||||
this.setUnitHitZoneEnabled(view, false);
|
||||
view.label.setAlpha(0);
|
||||
view.label.setVisible(false);
|
||||
view.label.setColor('#b6b6b6');
|
||||
view.label.setBackgroundColor('');
|
||||
this.updateUnitLabel(view, (label) => {
|
||||
label.setAlpha(0);
|
||||
label.setVisible(false);
|
||||
label.setColor('#b6b6b6');
|
||||
label.setBackgroundColor('');
|
||||
});
|
||||
}
|
||||
|
||||
private faceUnitToward(unit: UnitData, target: UnitData) {
|
||||
@@ -15008,7 +15027,7 @@ export class BattleScene extends Phaser.Scene {
|
||||
}
|
||||
|
||||
private truncateBattleLogText(text: string, maxLength: number) {
|
||||
return text.length > maxLength ? `${text.slice(0, Math.max(0, maxLength - 3))}...` : text;
|
||||
return text.length > maxLength ? `${text.slice(0, Math.max(0, maxLength - 1))}…` : text;
|
||||
}
|
||||
|
||||
private battleLogDisplayParts(entry: string) {
|
||||
|
||||
Reference in New Issue
Block a user