| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // package section_mode -- типовой режим секция работы части игры
- //
- // Имеет имя режима и имя текущей работы в режиме
- package section_mode
- import (
- "sync"
- )
- // SectionMode -- режим работы секции
- type SectionMode struct {
- name string // Имя режима
- work string // Имя работы
- block sync.RWMutex
- }
- // NewSectionMode -- возвращает новый *SectionMode
- func NewSectionMode() *SectionMode {
- return &SectionMode{
- name: "start",
- }
- }
- // Set -- устанавливает режим работы
- func (sf *SectionMode) Set(val string) {
- sf.block.Lock()
- defer sf.block.Unlock()
- sf.name = val
- }
- // Get -- возвращает хранимый режим работы
- func (sf *SectionMode) Get() string {
- sf.block.RLock()
- defer sf.block.RUnlock()
- return sf.name
- }
- // Work -- возвращает хранимое имя работы
- func (sf *SectionMode) Work() string {
- sf.block.RLock()
- defer sf.block.RUnlock()
- return sf.work
- }
- // WorkSet -- устанавливает хранимое имя работы
- func (sf *SectionMode) WorkSet(work string) {
- sf.block.Lock()
- defer sf.block.Unlock()
- sf.work = work
- }
|