arena_bank.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package arena_bank
  2. import (
  3. . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
  4. "wartank/app/lev0/cons"
  5. . "wartank/app/lev0/types"
  6. "wartank/app/lev1"
  7. "wartank/app/lev2/arena"
  8. "wartank/app/lev2/arena/arena_bank/bank_mode"
  9. "wartank/app/lev2/arena/arena_bank/bf_bank_build"
  10. "wartank/app/lev2/arena/arena_bank/bf_bank_level"
  11. "wartank/app/lev2/arena/arena_bank/bf_bank_prod"
  12. "wartank/app/lev2/arena/arena_bank/bf_bank_take"
  13. "wartank/app/lev2/arena/arena_bank/bf_bank_upgrade"
  14. "wartank/app/lev2/arena/arena_bank/bf_bank_upgrade_fast"
  15. "wartank/app/lev2/arena/arena_build"
  16. )
  17. /*
  18. Предоставляет объект банка на базе
  19. */
  20. // Банк -- объект банка на базе
  21. type АренаБанк struct {
  22. ИАренаСтроение
  23. конт ILocalCtx
  24. сереброБот ИСтатПарам
  25. режим1 *bank_mode.BankMode // 1 режим работы на выбор
  26. режим2 *bank_mode.BankMode // 2 режим работы на выбор
  27. }
  28. // НовБанк -- возвращает новый арену банка
  29. func НовБанк(конт ILocalCtx) ИАренаБанк {
  30. сам := &АренаБанк{
  31. конт: конт,
  32. сереброБот: lev1.НовСтатПарам("серебро бота"),
  33. режим1: bank_mode.NewBankMode(конт),
  34. режим2: bank_mode.NewBankMode(конт),
  35. }
  36. аренаКонфиг := arena.АренаКонфиг{
  37. Конт_: конт,
  38. АренаИмя_: "Банк",
  39. СтрКонтроль_: `<span class="green2">Серебро</span><br/>`,
  40. СтрУрл_: "https://wartank.ru/production/Bank",
  41. ВремОстат_: 1,
  42. }
  43. сам.ИАренаСтроение = arena_build.НовАренаСтроение(конт, аренаКонфиг)
  44. конт.Set("банк", сам, "Арена банка бота")
  45. return сам
  46. }
  47. func (сам *АренаБанк) Пуск() {
  48. сам.ИАренаСтроение.Пуск()
  49. if сам.Состояние().Получ() == cons.РежимНеСуществует {
  50. bf_bank_build.БанкПостроить(сам.конт)
  51. }
  52. bf_bank_upgrade.БанкАпгрейд(сам.конт)
  53. bf_bank_upgrade_fast.БанкАпгрейдБесплатно(сам.конт)
  54. bf_bank_take.БанкЗабрать(сам.конт)
  55. bf_bank_prod.СереброПроизводить(сам.конт)
  56. bf_bank_level.УровеньПолучить(сам.конт)
  57. select {
  58. case <-сам.ВремяОстат().КаналСиг(): // Надо обновить время
  59. сам.Бот().СигРабота("банк")
  60. default: // Ничего не делать
  61. }
  62. }
  63. // РежимРаботы2 -- возвращает объект режима2
  64. func (сам *АренаБанк) РежимРаботы2() ИБанкРежим {
  65. return сам.режим2
  66. }
  67. // РежимРаботы1 -- возвращает объект режима1
  68. func (сам *АренаБанк) РежимРаботы1() ИБанкРежим {
  69. return сам.режим1
  70. }
  71. // СереброБот -- возвращает серебро от бота
  72. func (сам *АренаБанк) СереброБот() ИСтатПарам {
  73. return сам.сереброБот
  74. }