|
|
@@ -9,7 +9,8 @@ import (
|
|
|
"time"
|
|
|
|
|
|
"wartank/pkg/alias"
|
|
|
- "wartank/pkg/components/section"
|
|
|
+ "wartank/pkg/cons"
|
|
|
+ "wartank/pkg/section"
|
|
|
"wartank/pkg/types"
|
|
|
"wartank/server/serv_bots/warbot/angar/base/arsenal"
|
|
|
"wartank/server/serv_bots/warbot/angar/base/bank"
|
|
|
@@ -102,24 +103,24 @@ func (sf *База) Пуск() error {
|
|
|
}
|
|
|
|
|
|
// Собственная работа
|
|
|
-func (sf *База) пуск() {
|
|
|
+func (сам *База) пуск() {
|
|
|
фнЦикл := func() {
|
|
|
defer time.Sleep(time.Minute * 2)
|
|
|
- if err := sf.сеть.ОбновитьСеть(); err != nil { // Обновить состояние базы
|
|
|
- log.Printf("ERRO Base.Run(): при обновлении базы, err=\n\t%v\n", err)
|
|
|
+ if ош := сам.сеть.Обновить(); ош != nil { // Обновить состояние базы
|
|
|
+ log.Printf("ERRO Base.Run(): при обновлении базы, err=\n\t%v\n", ош)
|
|
|
}
|
|
|
- sf.проверитьПолигонУсиление() // Проверить усиление полигона
|
|
|
- if err := sf.проверитьБанк(); err != nil { // Проверка режимов банка
|
|
|
+ сам.проверитьПолигонУсиление() // Проверить усиление полигона
|
|
|
+ if err := сам.проверитьБанк(); err != nil { // Проверка режимов банка
|
|
|
log.Printf("ERRO Base.Run(): при проверке банка, err=\n\t%v\n", err)
|
|
|
}
|
|
|
- sf.проверитьАрсенал() // Проверка арсенала
|
|
|
- sf.проверитьШахту() // Проверка шахты
|
|
|
- sf.setCountDown() // Установка счётчика времени
|
|
|
+ сам.проверитьАрсенал() // Проверка арсенала
|
|
|
+ сам.проверитьШахту() // Проверка шахты
|
|
|
+ сам.setCountDown() // Установка счётчика времени
|
|
|
|
|
|
}
|
|
|
for {
|
|
|
select {
|
|
|
- case <-sf.Кнт().Done():
|
|
|
+ case <-сам.Кнт().Done():
|
|
|
return
|
|
|
// case <-sf.ВремяОпрос().КаналСиг():
|
|
|
// фнЦикл()
|
|
|
@@ -207,7 +208,7 @@ func (sf *База) проверитьШахту() {
|
|
|
sf.шахтаСтатаОбновить()
|
|
|
}
|
|
|
sf.шахтаАпгрейдФорсаж() // Нужно ли ускорить апгрейд шахты
|
|
|
- if sf.шахта.РежимТекущ().Получ() == "upgrade" {
|
|
|
+ if sf.шахта.СценаРежим().Режим() == "upgrade" {
|
|
|
return
|
|
|
}
|
|
|
sf.шахтаСтатаОбновить()
|
|
|
@@ -366,19 +367,22 @@ func (sf *База) шахтаСтатаОбновить() {
|
|
|
strNum := lstNum[1]
|
|
|
lstNum = strings.Split(strNum, `</div></td>`)
|
|
|
strNum = lstNum[0]
|
|
|
- sf.шахта.РежимТекущ().РежимУст("Железо-" + strNum)
|
|
|
+ работа := alias.СценаРабота("Железо-" + strNum)
|
|
|
+ sf.шахта.СценаРежим().РаботаУст(работа)
|
|
|
case strings.Contains(strOut, `/images/icons/ore.png`): // Руда
|
|
|
lstNum := strings.Split(strOut, `<td class="vam"><div class="nwr pr5 gray1"><img class="rico vm" src="/images/icons/ore.png?2" alt="ore"/> `)
|
|
|
strNum := lstNum[1]
|
|
|
lstNum = strings.Split(strNum, `</div></td>`)
|
|
|
strNum = lstNum[0]
|
|
|
- sf.шахта.РежимТекущ().РежимУст("Руда-" + strNum)
|
|
|
+ работа := alias.СценаРабота("Руда-" + strNum)
|
|
|
+ sf.шахта.СценаРежим().РаботаУст(работа)
|
|
|
case strings.Contains(strOut, `/images/icons/steel.png`): // Руда
|
|
|
lstNum := strings.Split(strOut, `<td class="vam"><div class="nwr pr5 gray1"><img class="rico vm" src="/images/icons/steel.png?2" alt="steel"/> `)
|
|
|
strNum := lstNum[1]
|
|
|
lstNum = strings.Split(strNum, `</div></td>`)
|
|
|
strNum = lstNum[0]
|
|
|
- sf.шахта.РежимТекущ().РежимУст("Сталь-" + strNum)
|
|
|
+ работа := alias.СценаРабота("Сталь-" + strNum)
|
|
|
+ sf.шахта.СценаРежим().РаботаУст(работа)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -393,11 +397,11 @@ func (sf *База) проверитьАрсенал() {
|
|
|
// log._rintf("ERRO Base.checkArsenal(): при обновлении арсенала, err=\n\t%v\n", err)
|
|
|
return
|
|
|
}
|
|
|
- if mode := sf.арсенал.РежимТекущ().Режим(); mode == "" {
|
|
|
+ if работа := sf.арсенал.СценаРежим().Работа(); работа == "" {
|
|
|
sf.проверитьАрсеналРежим()
|
|
|
}
|
|
|
sf.проверитьАрсеналУскорение() // Нужно ли ускорить апгрейд арсенала
|
|
|
- if sf.арсенал.РежимТекущ().Получ() == "upgrade" {
|
|
|
+ if sf.арсенал.СценаРежим().Режим() == cons.РежимАпгрейд {
|
|
|
return
|
|
|
}
|
|
|
sf.проверитьАрсеналВремя()
|
|
|
@@ -447,19 +451,19 @@ func (sf *База) проверитьАрсеналРежим() {
|
|
|
)
|
|
|
for _, strOut = range lstBase {
|
|
|
if strings.Contains(strOut, `HollowCharge.png`) {
|
|
|
- sf.арсенал.РежимТекущ().РежимУст("кумулятивы")
|
|
|
+ sf.арсенал.СценаРежим().РежимУст("кумулятивы")
|
|
|
return
|
|
|
}
|
|
|
if strings.Contains(strOut, `ArmorPiercing.png`) {
|
|
|
- sf.арсенал.РежимТекущ().РежимУст("бронебойки")
|
|
|
+ sf.арсенал.СценаРежим().РежимУст("бронебойки")
|
|
|
return
|
|
|
}
|
|
|
if strings.Contains(strOut, `HighExplosive.png`) {
|
|
|
- sf.арсенал.РежимТекущ().РежимУст("фугасы")
|
|
|
+ sf.арсенал.СценаРежим().РежимУст("фугасы")
|
|
|
return
|
|
|
}
|
|
|
if strings.Contains(strOut, `repairkit.gif`) {
|
|
|
- sf.арсенал.РежимТекущ().РежимУст("ремки")
|
|
|
+ sf.арсенал.СценаРежим().РежимУст("ремки")
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
@@ -491,8 +495,8 @@ func (sf *База) проверитьАрсеналУскорение() {
|
|
|
if err := sf.арсенал.ОбратВремяУст(времОжидПлат); err != nil {
|
|
|
log.Printf("WARN Base.checkArsenalForce(): при установке платного времени ускорения апгрейда арсенала(%v)\n\terr=%v\n", времОжидПлат, err)
|
|
|
}
|
|
|
- sf.арсенал.РежимТекущ().Уст("upgrade")
|
|
|
- sf.арсенал.РежимТекущ().РежимУст("апгрейд")
|
|
|
+ sf.арсенал.СценаРежим().РаботаУст("апгрейд")
|
|
|
+ sf.арсенал.СценаРежим().РежимУст(cons.РежимАпгрейд)
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
@@ -514,7 +518,7 @@ func (sf *База) проверитьАрсеналУскорение() {
|
|
|
if !strings.Contains(strOut, `>Ускорение<`) {
|
|
|
return
|
|
|
}
|
|
|
- sf.арсенал.РежимТекущ().Уст("upgrade")
|
|
|
+ sf.арсенал.СценаРежим().РежимУст(cons.РежимАпгрейд)
|
|
|
lstLink := strings.Split(strOut, `<td style="width:50%;padding-left:1px;"><a class="simple-but border" href="`)
|
|
|
strLink := lstLink[1]
|
|
|
lstLink = strings.Split(strLink, `"><span><span>Ускорение</span></span></a>`)
|
|
|
@@ -529,19 +533,19 @@ func (sf *База) проверитьАрсеналУскорение() {
|
|
|
// log._rintf("ERRO NetBank.checkArsenalForce(): при обновлении lstBase, err=\n\t%v\n", err)
|
|
|
return
|
|
|
}
|
|
|
- sf.арсенал.РежимТекущ().Уст("upgrade")
|
|
|
- sf.арсенал.РежимТекущ().РежимУст("апгрейд")
|
|
|
+ sf.арсенал.СценаРежим().РаботаУст("апгрейд")
|
|
|
+ sf.арсенал.СценаРежим().РежимУст(cons.РежимАпгрейд)
|
|
|
if err := sf.арсенал.ОбратВремяУст(времОжидБесплат); err != nil {
|
|
|
log.Printf("WARN Base.checkArsenalForce(): при установке бесплатного времени ускорения апгрейда арсенала(%v)\n\terr=%v\n", времОжидБесплат, err)
|
|
|
}
|
|
|
}
|
|
|
// Все проверки прошли -- это просто работа
|
|
|
- sf.арсенал.РежимТекущ().Уст("work")
|
|
|
+ sf.арсенал.СценаРежим().РежимУст(cons.РежимРабота)
|
|
|
}
|
|
|
|
|
|
// Проверяет режим банка
|
|
|
func (sf *База) проверитьБанк() error {
|
|
|
- if sf.банк.РежимТекущ().Режим() == "" {
|
|
|
+ if sf.банк.СценаРежим().Работа() == "" {
|
|
|
sf.checkBankMode()
|
|
|
}
|
|
|
sf.checkBankTime() // Проверка времени ожидания
|
|
|
@@ -550,7 +554,7 @@ func (sf *База) проверитьБанк() error {
|
|
|
return nil
|
|
|
}
|
|
|
sf.checkBankForce() // Нужно ли ускорить апгрейд банка
|
|
|
- if sf.банк.РежимТекущ().Получ() == "upgrade" {
|
|
|
+ if sf.банк.СценаРежим().Режим() == cons.РежимАпгрейд {
|
|
|
return nil
|
|
|
}
|
|
|
sf.checkBankProduct() // Запуск производства в банке
|
|
|
@@ -558,11 +562,11 @@ func (sf *База) проверитьБанк() error {
|
|
|
}
|
|
|
|
|
|
// Проверяет режим работы банка
|
|
|
-func (sf *База) checkBankMode() {
|
|
|
+func (сам *База) checkBankMode() {
|
|
|
var (
|
|
|
strOut string
|
|
|
isFind bool
|
|
|
- lstBase = sf.СписПолучить()
|
|
|
+ lstBase = сам.СписПолучить()
|
|
|
)
|
|
|
for _, strOut = range lstBase {
|
|
|
if strings.Contains(strOut, `<td class="vam"><div class="nwr pr5 gray1"><img class="rico vm" src="/images/icons/silver.png?2" alt="silver"/> `) {
|
|
|
@@ -576,8 +580,9 @@ func (sf *База) checkBankMode() {
|
|
|
lstSilver := strings.Split(strOut, `<td class="vam"><div class="nwr pr5 gray1"><img class="rico vm" src="/images/icons/silver.png?2" alt="silver"/> `)
|
|
|
strSilver := lstSilver[1]
|
|
|
lstSilver = strings.Split(strSilver, `</div></td>`)
|
|
|
- strSilver = "Серебро-" + lstSilver[0]
|
|
|
- sf.банк.РежимТекущ().РежимУст(strSilver)
|
|
|
+ работа := alias.СценаРабота("Серебро-" + lstSilver[0])
|
|
|
+ сам.банк.СценаРежим().РаботаУст(работа)
|
|
|
+ сам.банк.СценаРежим().РежимУст(cons.РежимРабота)
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -662,8 +667,8 @@ func (sf *База) checkBankForce() {
|
|
|
if err := sf.банк.ОбратВремяУст(времОжидПлат); err != nil {
|
|
|
log.Printf("WARN Base.checkBankForce(): при установке времени ожидания платного ускорения апгрейда банка(%v)\n\terr=%v\n", времОжидПлат, err)
|
|
|
}
|
|
|
- sf.банк.РежимТекущ().Уст("upgrade")
|
|
|
- sf.банк.РежимТекущ().РежимУст("апгрейд")
|
|
|
+ sf.банк.СценаРежим().РаботаУст("апгрейд")
|
|
|
+ sf.банк.СценаРежим().РежимУст(cons.РежимАпгрейд)
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
@@ -693,8 +698,8 @@ func (sf *База) checkBankForce() {
|
|
|
// log._rintf("ERRO NetBank.checkBankForce(): при обновлении lstBase, err=\n\t%v\n", err)
|
|
|
return
|
|
|
}
|
|
|
- sf.банк.РежимТекущ().Уст("upgrade")
|
|
|
- sf.банк.РежимТекущ().РежимУст("апгрейд")
|
|
|
+ sf.банк.СценаРежим().РаботаУст("апгрейд")
|
|
|
+ sf.банк.СценаРежим().РежимУст(cons.РежимАпгрейд)
|
|
|
if err := sf.банк.ОбратВремяУст(времОжидБесплат); err != nil {
|
|
|
log.Printf("WARN Base.checkBankForce(): при установке времени бесплатного ускорения агрейда банка(%v)\n\terr=%v\n", времОжидБесплат, err)
|
|
|
}
|
|
|
@@ -721,8 +726,8 @@ func (sf *База) шахтаАпгрейдФорсаж() {
|
|
|
}
|
|
|
}
|
|
|
if isOut && strings.Contains(strOut, `Ускорить за`) {
|
|
|
- sf.шахта.РежимТекущ().Уст("upgrade")
|
|
|
- sf.шахта.РежимТекущ().РежимУст("апгрейд")
|
|
|
+ sf.шахта.СценаРежим().РаботаУст("апгрейд")
|
|
|
+ sf.шахта.СценаРежим().РежимУст(cons.РежимАпгрейд)
|
|
|
if err := sf.шахта.ОбратВремяУст(времОжидПлат); err != nil {
|
|
|
log.Printf("WARN Base.checkMineForce(): при установке времени платного апгрейда шахты(%v)\n\terr=%v\n", времОжидПлат, err)
|
|
|
}
|
|
|
@@ -758,13 +763,13 @@ func (sf *База) шахтаАпгрейдФорсаж() {
|
|
|
log.Printf("WARN Base.checkMineForce(): при установке времени апгрейда шахты(%v)\n\terr=%v\n", времОжидБесплат, err)
|
|
|
}
|
|
|
// sound.MineForce()
|
|
|
- sf.шахта.РежимТекущ().Уст("upgrade")
|
|
|
- sf.шахта.РежимТекущ().РежимУст("апгрейд")
|
|
|
+ sf.шахта.СценаРежим().РаботаУст("апгрейд")
|
|
|
+ sf.шахта.СценаРежим().РежимУст(cons.РежимАпгрейд)
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
// Все проверки прошли -- это просто работа
|
|
|
- sf.шахта.РежимТекущ().Уст("work")
|
|
|
+ sf.шахта.СценаРежим().РежимУст(cons.РежимРабота)
|
|
|
}
|
|
|
|
|
|
// Проверяет на ускорение апгрейда полигона
|
|
|
@@ -798,8 +803,8 @@ func (sf *База) проверитьПолигонУсиление() {
|
|
|
// if err := sf.polygon.CountDown().Set(strTime); err != nil {
|
|
|
// // log._rintf("WARN Base.checkMineForce(): при установке времени апгрейда полигона(%v)\n\terr=%v\n", strTime, err)
|
|
|
// }
|
|
|
- sf.полигон.РежимТекущ().Уст("upgrade")
|
|
|
- sf.полигон.РежимТекущ().РежимУст("апгрейд")
|
|
|
+ sf.полигон.СценаРежим().РаботаУст("апгрейд")
|
|
|
+ sf.полигон.СценаРежим().РежимУст(cons.РежимАпгрейд)
|
|
|
if err := sf.полигон.ОбратВремяУст(времОжидПлат); err != nil {
|
|
|
log.Printf("WARN Base.checkPolygonForce(): при установке платного времени апгрейда полигона(%v)\n\terr=%v\n", времОжидПлат, err)
|
|
|
}
|
|
|
@@ -832,8 +837,8 @@ func (sf *База) проверитьПолигонУсиление() {
|
|
|
return
|
|
|
}
|
|
|
// sound.MineForce()
|
|
|
- sf.полигон.РежимТекущ().Уст("upgrade")
|
|
|
- sf.полигон.РежимТекущ().РежимУст("апгрейд")
|
|
|
+ sf.полигон.СценаРежим().РаботаУст("апгрейд")
|
|
|
+ sf.полигон.СценаРежим().РежимУст(cons.РежимАпгрейд)
|
|
|
// Установить время ожидания для обновления
|
|
|
if err := sf.полигон.ОбратВремяУст(времОжидБесплат); err != nil {
|
|
|
log.Printf("WARN Base.checkPolygonForce(): при установке времени бесплатного апгрейда полигона(%v)\n\terr=%v\n", времОжидБесплат, err)
|
|
|
@@ -843,5 +848,5 @@ func (sf *База) проверитьПолигонУсиление() {
|
|
|
}
|
|
|
}
|
|
|
// Все проверки прошли -- это просто работа
|
|
|
- sf.полигон.РежимТекущ().Уст("work")
|
|
|
+ sf.полигон.СценаРежим().РежимУст(cons.РежимРабота)
|
|
|
}
|