| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- // package arena_state -- состояние арены
- package arena_state
- import (
- "sync"
- "wartank/pkg/alias"
- "wartank/pkg/types"
- )
- // СценаСостояние -- состояние сцены
- type АренаСостояние struct {
- состояниеИмя alias.АренаСостояние // Имя режима
- работаИмя alias.АренаРаботаИмя // Имя работы
- режимНомер alias.АренаРежимНомер
- block sync.RWMutex
- }
- // НовСекцияРежим -- возвращает новый *СценаРежим
- func НовАренаСостояние() *АренаСостояние {
- сам := &АренаСостояние{
- состояниеИмя: "старт",
- }
- _ = types.ИАренаСостояние(сам)
- return сам
- }
- // РежимНомер -- возвращает номер режима арены
- func (сам *АренаСостояние) РежимНомер() alias.АренаРежимНомер {
- сам.block.RLock()
- defer сам.block.RUnlock()
- return сам.режимНомер
- }
- // РаботаИмяУст -- устанавливает имя текущей работы арены
- func (сам *АренаСостояние) РаботаИмяУст(имя alias.АренаРаботаИмя) {
- сам.block.Lock()
- defer сам.block.Unlock()
- сам.работаИмя = имя
- }
- // РаботаИмя -- возвращает имя текущей работы арены
- func (сам *АренаСостояние) РаботаИмя() alias.АренаРаботаИмя {
- сам.block.RLock()
- defer сам.block.RUnlock()
- return сам.работаИмя
- }
- // СостояниеУст -- устанавливает состояние арены
- func (сам *АренаСостояние) СостояниеУст(состояние alias.АренаСостояние) {
- сам.block.Lock()
- defer сам.block.Unlock()
- сам.состояниеИмя = состояние
- }
- // Состояние -- возвращает состояние арены
- func (сам *АренаСостояние) Состояние() alias.АренаСостояние {
- сам.block.RLock()
- defer сам.block.RUnlock()
- return сам.состояниеИмя
- }
- // Работа -- возвращает хранимое имя работы арены
- func (сам *АренаСостояние) Работа() alias.АренаРаботаИмя {
- сам.block.RLock()
- defer сам.block.RUnlock()
- return сам.работаИмя
- }
- // РаботаУст -- устанавливает хранимое имя работы арены
- func (сам *АренаСостояние) РаботаУст(работаИмя alias.АренаРаботаИмя) {
- сам.block.Lock()
- defer сам.block.Unlock()
- сам.работаИмя = работаИмя
- }
|