// 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() сам.работаИмя = работаИмя }