import type Phaser from 'phaser'
import { EnemyBase, type PathPoint } from './EnemyBase'
import { GameManager } from '../GameManager'
import { getRandomQuote } from '../data/quotes'

export class TroubleMaker extends EnemyBase {
  constructor(scene: Phaser.Scene, pathPoints: PathPoint[]) {
    super(scene, pathPoints, 80, 80, 5, 20)
    this.drawSprite()
  }

  drawSprite(): void {
    if (!this.sprite) return
    this.sprite.clear()
    // 三角形（叹号形状）
    this.sprite.fillStyle(0xfca5a5, 1)
    this.sprite.fillTriangle(0, -14, -12, 10, 12, 10)
    // 叹号
    this.sprite.fillStyle(0x7f1d1d, 1)
    this.sprite.fillRect(-2, -6, 4, 8)
    this.sprite.fillRect(-2, 6, 4, 4)
    this.sprite.setDepth(10)
    this.sprite.setPosition(this.x, this.y)
  }

  protected override onDeath(): void {
    // 劳动仲裁：死亡时扣玩家 20 HC
    const manager = GameManager.getInstance()
    manager.spendHC(20)
    // 显示提示文字
    const txt = this.scene.add
      .text(this.x, this.y - 20, '劳动仲裁! -20HC', {
        fontFamily: 'VT323, monospace',
        fontSize: '16px',
        color: '#FCA5A5',
        backgroundColor: '#7F1D1D',
        padding: { x: 4, y: 2 },
      })
      .setOrigin(0.5, 1)
      .setDepth(25)
    this.scene.tweens.add({
      targets: txt,
      y: this.y - 50,
      alpha: 0,
      duration: 1500,
      onComplete: () => txt.destroy(),
    })
  }

  getQuote(): string {
    return getRandomQuote('TroubleMaker')
  }
}
