bf_mine_build.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // package bf_mine_build -- бизнес-функция постройки шахты
  2. package bf_mine_build
  3. import (
  4. "strings"
  5. . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
  6. "wartank/app/lev0/cons"
  7. . "wartank/app/lev0/types"
  8. )
  9. // ШахтаПостроить -- постройка шахты
  10. func ШахтаПостроить(конт ILocalCtx) {
  11. шахта := конт.Get("шахта").Val().(ИАренаШахта)
  12. if шахта.АренаСостояние().Получ() == cons.РежимНеСуществует {
  13. шахтаПостроить(конт)
  14. }
  15. }
  16. func шахтаПостроить(конт ILocalCtx) {
  17. база := конт.Get("база").Val().(ИАренаБаза)
  18. шахта := конт.Get("шахта").Val().(ИАренаШахта)
  19. // <td style="width:50%;padding-left:1px;"><a class="simple-but border mb5" href="building-upgrade/Mine"><span><span>Построить</span></span></a></td>
  20. var (
  21. еслиНайти = false
  22. стр = ""
  23. )
  24. списСтр := база.Сеть().ВебВоркер().Получ("http://wartank.ru/buildings")
  25. for _, стр = range списСтр {
  26. if strings.Contains(стр, `href="building-upgrade/Mine"><span><span>Построить</span></span>`) {
  27. еслиНайти = true
  28. break
  29. }
  30. }
  31. if !еслиНайти {
  32. шахта.АренаСостояние().Уст(cons.РежимАпгрейдПлатный)
  33. return
  34. }
  35. // Пробуем построить шахту
  36. _стр := strings.TrimPrefix(стр, `<td style="width:50%;padding-left:1px;"><a class="simple-but border mb5" href="`)
  37. _стр = strings.TrimSuffix(_стр, `"><span><span>Построить</span></span></a></td>`)
  38. ссылка := "https://wartank.ru/" + _стр
  39. списСтр = база.Сеть().ВебВоркер().Получ(ссылка)
  40. еслиНайти = false
  41. // "<a class=\"simple-but border mb5\" href=\"Mine?14-1.ILinkListener-upgradeLink-link\">"
  42. for _, стр = range списСтр {
  43. if strings.Contains(стр, `ILinkListener-upgradeLink-link`) {
  44. еслиНайти = true
  45. break
  46. }
  47. }
  48. if !еслиНайти {
  49. шахта.АренаСостояние().Уст(cons.РежимАпгрейдПлатный)
  50. return
  51. }
  52. _стр = strings.TrimPrefix(стр, "<a class=\"simple-but border mb5\" href=\"")
  53. _стр = strings.TrimSuffix(_стр, "\">")
  54. // http://wartank.ru/building-upgrade/Mine?16-1.ILinkListener-upgradeLink-link
  55. ссылка = "https://wartank.ru/building-upgrade/" + _стр
  56. _ = база.Сеть().ВебВоркер().Получ(ссылка)
  57. шахта.АренаСостояние().Уст(cons.РежимАпгрейдПлатный)
  58. }