package arena_angar import ( . "gitp78su.ipnodns.ru/svi/kern/kc/helpers" . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes" "wartank/app/lev0/cons" . "wartank/app/lev0/types" "wartank/app/lev1" "wartank/app/lev1/down_time" "wartank/app/lev2/arena" "wartank/app/lev2/arena/arena_angar/bf_angar_fuel" "wartank/app/lev2/arena/arena_angar/bf_gold_find" "wartank/app/lev2/arena/arena_angar/bf_silver_find" "wartank/app/lev2/arena/arena_angar/bf_tank_stat" "wartank/app/lev3/bot/bot_stat/bot_resurs" ) /* Объект ангара приложения */ // Ангар -- ангар для танка type АренаАнгар struct { ИАрена конт ILocalCtx progress ИСтатПарам топливо ИСтатПарам серебро ИСтатПарам золото ИСтатПарам игроковОнлайн ИСтатПарам сереброСессия ИСтатПарам ресурсы ИБотРесурсы танкСтат ИТанкСтат времяОстат ИВремяОстат } // НовАнгар -- возвращает новый *Angar func НовАнгар(конт ILocalCtx) ИАренаАнгар { Hassert(конт != nil, "НовАнгар(): ILocalCtx==nil") сам := &АренаАнгар{ конт: конт, progress: lev1.НовСтатПарам("прогресс"), игроковОнлайн: lev1.НовСтатПарам("онлайн"), сереброСессия: lev1.НовСтатПарам("серебро сессия"), танкСтат: конт.Get("танкСтат").Val().(ИТанкСтат), серебро: lev1.НовСтатПарам("серебро"), золото: lev1.НовСтатПарам("золото"), топливо: lev1.НовСтатПарам("топливо"), времяОстат: down_time.НовВремОбрат(конт, 1), } аренаКонф := arena.АренаКонфиг{ Конт_: конт, АренаИмя_: "Ангар", СтрКонтроль_: "Ангар", СтрУрл_: "https://wartank.ru/angar", ВремОстат_: 1, } конт.Set("ангар", сам, "Объект ангара бота") сам.ИАрена = arena.НовАрена(конт, аренаКонф) сам.ресурсы = bot_resurs.НовБотРесурсы(конт, сам) return сам } func (сам *АренаАнгар) Пуск() { сам.ИАрена.Пуск() if сам.Состояние().Получ() == cons.РежимНеСуществует { сам.Состояние().Уст(cons.РежимПостроено) } bf_angar_fuel.ТопливоНайти(сам.конт) bf_gold_find.ЗолотоНайти(сам.конт) bf_silver_find.СереброНайти(сам.конт) bf_tank_stat.ТанкСтатПолучить(сам.конт) select { case <-сам.времяОстат.КаналСиг(): // Надо обновить время сам.Бот().СигРабота("ангар") сам.времяОстат.Уст("00:00:15") default: // Ничего не делать } } // Золото -- возвращает объект топлива в ангаре func (сам *АренаАнгар) Золото() ИСтатПарам { return сам.золото } // Топливо -- возвращает объект топлива в ангаре func (сам *АренаАнгар) Топливо() ИСтатПарам { return сам.топливо } // СереброСессия -- возвращает объект серебра за текущую сессию func (сам *АренаАнгар) СереброСессия() ИСтатПарам { return сам.сереброСессия } // Серебро -- возвращает объект серебра в ангаре func (сам *АренаАнгар) Серебро() ИСтатПарам { return сам.серебро } // Прогресс -- возвращает прогресс уровня игрока func (сам *АренаАнгар) Прогресс() ИСтатПарам { return сам.progress } // ИгрокиОнлайн -- возвращает количество игроков онлайн func (сам *АренаАнгар) ИгрокиОнлайн() ИСтатПарам { return сам.игроковОнлайн }