Audio player

This commit is contained in:
Martin
2022-12-20 10:00:47 +01:00
parent 8512aa898d
commit 2105682fd9
14 changed files with 713 additions and 270 deletions

View File

@@ -0,0 +1,32 @@
import { _decorator, Component, Node, AudioClip } from "cc";
import { AppRoot } from "../../AppRoot/AppRoot";
import { AudioPlayer } from "../../Services/AudioPlayer/AudioPlayer";
import { Enemy } from "../Unit/Enemy/Enemy";
import { EnemyManager } from "../Unit/Enemy/EnemyManager";
const { ccclass, property } = _decorator;
@ccclass("GameAudioAdapter")
export class GameAudioAdapter extends Component {
@property(AudioClip) private enemyHit: AudioClip;
private audioPlayer: AudioPlayer;
public init(enemyManager: EnemyManager): void {
this.audioPlayer = AppRoot.Instance.AudioPlayer;
enemyManager.EnemyAddedEvent.on(this.addEnemyListeners, this);
enemyManager.EnemyRemovedEvent.on(this.removeEnemyListeners, this);
}
private addEnemyListeners(enemy: Enemy): void {
enemy.Health.HealthPointsChangeEvent.on(this.playEnemyHitSound, this);
}
private removeEnemyListeners(enemy: Enemy): void {
enemy.Health.HealthPointsChangeEvent.off(this.playEnemyHitSound);
}
private playEnemyHitSound(): void {
this.audioPlayer.playSound(this.enemyHit);
}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "eb84241d-4cc1-4e50-911d-c0c880ec024d",
"files": [],
"subMetas": {},
"userData": {}
}