arena_battle.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // package arena_battle -- объект сражения
  2. package arena_battle
  3. import (
  4. . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
  5. . "wartank/app/lev0/types"
  6. "wartank/app/lev2/arena"
  7. "wartank/app/lev2/arena/arena_battle/bf_battle_make"
  8. "wartank/app/lev2/arena/arena_battle/bf_battle_register"
  9. "wartank/app/lev2/arena/arena_battle/bf_battle_wait"
  10. "wartank/app/lev2/arena/arena_build"
  11. )
  12. // АренаСражение -- объект сражения
  13. type АренаСражение struct {
  14. ИАренаСтроение
  15. конт ILocalCtx
  16. клиент ИХттпВоркер
  17. }
  18. // НовСражение -- возвращает новую арену сражения PVE
  19. func НовСражение(конт ILocalCtx) *АренаСражение {
  20. бот := конт.Get("бот").Val().(ИБот)
  21. сам := &АренаСражение{
  22. конт: конт,
  23. клиент: бот.Сеть().ВебВоркер(),
  24. }
  25. аренаКонфиг := arena.АренаКонфиг{
  26. Конт_: конт,
  27. АренаИмя_: "Арена сражения",
  28. СтрКонтроль_: "<title>Сражения</title>",
  29. СтрУрл_: "https://wartank.ru/pve",
  30. ВремОстат_: 1,
  31. }
  32. сам.ИАренаСтроение = arena_build.НовАренаСтроение(конт, аренаКонфиг)
  33. конт.Set("pve", сам, "Сражение с ботами")
  34. return сам
  35. }
  36. func (сам *АренаСражение) Пуск() {
  37. сам.ИАренаСтроение.Пуск()
  38. bf_battle_register.СражениеРегистрация(сам.конт)
  39. bf_battle_wait.СражениеОжидать(сам.конт)
  40. bf_battle_make.СражениеВыполнить(сам.конт)
  41. }