// package arena_duel -- арена дуэли за топливо package arena_duel import ( "time" . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes" . "wartank/app/lev0/types" "wartank/app/lev2/arena" ) // АренаДуэль -- арена дуэли за топливо type АренаДуэль struct { ИАрена бот ИБот клиент ИХттпВоркер } // НовСражение -- возвращает новую арену дуэли func НовАренаДуэль(конт ILocalCtx, бот ИБот) *АренаДуэль { сам := &АренаДуэль{ бот: бот, клиент: бот.Сеть().ВебВоркер(), } аренаКонфиг := arena.АренаКонфиг{ Бот_: бот, АренаИмя_: "Арена дуэли", СтрКонтроль_: "до начала ", ФнПуск_: сам.пуск, СтрУрл_: "https://wartank.ru/battle", } сам.ИАрена = arena.НовАрена(конт, аренаКонфиг) // сам.shotTimeFull.Set(8000) // 8000 msec return сам } func (сам *АренаДуэль) Пуск() { go сам.пуск() } // запускает в работу дуэль func (сам *АренаДуэль) пуск() { for { select { case <-сам.бот.КонтБот().Ctx().Done(): return default: time.Sleep(time.Second * 2) // Пауза между циклами, чтобы сервер не долбить запросами } } }