|
|
@@ -39,42 +39,40 @@ func СражениеРегистрация(конт ILocalCtx) {
|
|
|
|
|
|
func регистрация(конт ILocalCtx) {
|
|
|
битва := конт.Get("pvp").Val().(ИАренаСтроение)
|
|
|
- // Найдено приглашение на участие
|
|
|
var (
|
|
|
лстБитва = битва.СписПолучить()
|
|
|
err error
|
|
|
стрСсылка string
|
|
|
)
|
|
|
- фнГеис := func() []string {
|
|
|
- if len(лстБитва) == 0 {
|
|
|
- битва.Обновить()
|
|
|
- лстБитва = битва.СписПолучить()
|
|
|
- }
|
|
|
- if len(лстБитва) < 113 { // Уже обратный отсчёт
|
|
|
- битва.Состояние().Уст(cons.РежимОжидание)
|
|
|
- return лстБитва
|
|
|
- }
|
|
|
- // <a w:id="joinLink" href="pvp?45-5.ILinkListener-joinLink" class="simple-but border"><span><span>Участвовать в битве</span></span></a>
|
|
|
- стрКонтроль := лстБитва[113]
|
|
|
- if !strings.Contains(стрКонтроль, "ILinkListener-joinLink") {
|
|
|
- битва.Состояние().Уст(cons.РежимОжидание)
|
|
|
- return лстБитва
|
|
|
- }
|
|
|
- for _, стрСсылка = range лстБитва {
|
|
|
- if strings.Contains(стрСсылка, `.ILinkListener-joinLink" class="simple-but border"><span><span>Участвовать в битве`) {
|
|
|
- break
|
|
|
- }
|
|
|
+ defer func() {
|
|
|
+ битва.СтрОбновить(лстБитва)
|
|
|
+ }()
|
|
|
+ // Найдено приглашение на участие
|
|
|
+ if len(лстБитва) == 0 {
|
|
|
+ битва.Обновить()
|
|
|
+ лстБитва = битва.СписПолучить()
|
|
|
+ }
|
|
|
+ if len(лстБитва) < 113 { // Уже обратный отсчёт
|
|
|
+ битва.Состояние().Уст(cons.РежимОжидание)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // <a w:id="joinLink" href="pvp?45-5.ILinkListener-joinLink" class="simple-but border"><span><span>Участвовать в битве</span></span></a>
|
|
|
+ for _, стрСсылка = range лстБитва {
|
|
|
+ if strings.Contains(стрСсылка, `.ILinkListener-joinLink" class="simple-but border"><span><span>Участвовать в битве`) {
|
|
|
+ break
|
|
|
}
|
|
|
- // <a w:id="joinLink" href="pvp?45-5.ILinkListener-joinLink" class="simple-but border"><span><span>Участвовать в битве</span></span></a>
|
|
|
- стрСсылка := strings.TrimPrefix(стрКонтроль, `<a w:id="joinLink" href="`)
|
|
|
- стрСсылка = strings.TrimSuffix(стрСсылка, `" class="simple-but border"><span><span>Участвовать в битве</span></span></a>`)
|
|
|
- стрСсылка = "https://wartank.ru/" + стрСсылка
|
|
|
- // https://wartank.ru/pvp?45-5.ILinkListener-joinLink
|
|
|
- лстБитва, err = битва.Сеть().Get(стрСсылка)
|
|
|
- Hassert(err == nil, "регистрация(): при регистрации на сражение, ош=\n\t%v", err)
|
|
|
- битва.Состояние().Уст(cons.РежимАпгрейдПлатный)
|
|
|
- return лстБитва
|
|
|
+ }
|
|
|
+ if !strings.Contains(стрСсылка, "ILinkListener-joinLink") {
|
|
|
+ битва.Состояние().Уст(cons.РежимОжидание)
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
- битва.СтрОбновить(фнГеис())
|
|
|
+ // <a w:id="joinLink" href="pvp?45-5.ILinkListener-joinLink" class="simple-but border"><span><span>Участвовать в битве</span></span></a>
|
|
|
+ _стрСсылка := strings.TrimPrefix(стрСсылка, `<a w:id="joinLink" href="`)
|
|
|
+ _стрСсылка = strings.TrimSuffix(_стрСсылка, `" class="simple-but border"><span><span>Участвовать в битве</span></span></a>`)
|
|
|
+ _стрСсылка = "https://wartank.ru/" + _стрСсылка
|
|
|
+ // https://wartank.ru/pvp?45-5.ILinkListener-joinLink
|
|
|
+ лстБитва, err = битва.Сеть().Get(_стрСсылка)
|
|
|
+ Hassert(err == nil, "регистрация(): при регистрации на сражение, ош=\n\t%v", err)
|
|
|
+ битва.Состояние().Уст(cons.РежимАпгрейдПлатный)
|
|
|
}
|