This describes how audio is implemented in the game.

This is sub-layout for documentation pages


1 Audio Manager

All audio managers are singletons (static) in order to be globally accessible

2 Specialized Audio Managers

3 Loading system

AudioManager uses a list (key / value) which contains the urls of target sound effects to download.
Then, for all the urls, the sound effects are loaded (and audio data decoded).
When a sound is supposed to be played, ID needs to be known.

AudioManager calls loadAll method on all the specialized AudioManagers. ( AudioManagerWeapon , AudioManagerZombie )
These managers add the sound urls to the provided list.

The situation is illustrated by following image: