| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package divwarsound
- import (
- "time"
- "wartank/pkg/components/sound"
- "wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound/isplay"
- )
- /*
- Выполняет контроль за запуском одной озвучки битвы
- */
- // DivWarSound -- контроль одного раза запуска звука битвы
- type DivWarSound struct {
- isPlay *isplay.IsPlay
- }
- // NewDivWarSound -- возвращает новый *DivWarSound
- func NewDivWarSound() *DivWarSound {
- return &DivWarSound{
- isPlay: isplay.NewIsPlay(),
- }
- }
- // Play -- играет музончик, если можно
- func (сам *DivWarSound) Play() {
- if сам.isPlay.Get() {
- return
- }
- go сам.play()
- }
- // Проигрывает экслюзивно в отдельном потоке звук
- func (сам *DivWarSound) play() {
- сам.isPlay.Set()
- val := 7
- for val > 0 {
- sound.DivWar()
- val--
- time.Sleep(time.Second * 1)
- }
- val = 600 // Пауза для блокировки повторного вкелючения начатой битвы
- for val >= 0 {
- val--
- time.Sleep(time.Second * 1)
- }
- сам.isPlay.Reset()
- }
|