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