diff options
| author | Caleb <caleb.mabry.15@cnu.edu> | 2022-08-30 17:39:51 -0400 |
|---|---|---|
| committer | Caleb <caleb.mabry.15@cnu.edu> | 2022-08-30 17:39:51 -0400 |
| commit | c95c943938b2254bdb9581fc4b00e72d15e91436 (patch) | |
| tree | 2e53b0401f8c52a0f4dfd0604f4d11ed97b3a87f /webAO/packets/handlers/handleSM.ts | |
| parent | f07d77c3d40b2ebf5da0f3399e31f6741c60024e (diff) | |
More packets moved
Diffstat (limited to 'webAO/packets/handlers/handleSM.ts')
| -rw-r--r-- | webAO/packets/handlers/handleSM.ts | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/webAO/packets/handlers/handleSM.ts b/webAO/packets/handlers/handleSM.ts new file mode 100644 index 0000000..5dab83e --- /dev/null +++ b/webAO/packets/handlers/handleSM.ts @@ -0,0 +1,36 @@ +import { client } from '../../client' +/** + * Handles incoming music information, containing all music in one packet. + * @param {Array} args packet arguments + */ +export const handleSM = (args: string[]) => { + document.getElementById("client_loadingtext")!.innerHTML = "Loading Music "; + client.resetMusicList(); + client.resetAreaList(); + + client.musics_time = false; + + for (let i = 1; i < args.length - 1; i++) { + // Check when found the song for the first time + const trackname = args[i]; + const trackindex = i - 1; + document.getElementById( + "client_loadingtext" + )!.innerHTML = `Loading Music ${i}/${client.music_list_length}`; + (<HTMLProgressElement>( + document.getElementById("client_loadingbar") + )).value = client.char_list_length + client.evidence_list_length + i; + if (client.musics_time) { + client.addTrack(trackname); + } else if (client.isAudio(trackname)) { + client.musics_time = true; + client.fix_last_area(); + client.addTrack(trackname); + } else { + client.createArea(trackindex, trackname); + } + } + + // Music done, carry on + client.sendServer("RD#%"); +} |
