Files
game-driver/internal/common/pause.go

30 lines
468 B
Go

package common
type CtrlWait struct {
// 用于暂停的chan
P chan struct{}
// 用于恢复的chan
R chan struct{}
}
// Pause 暂停
func (c *CtrlWait) Pause() {
c.P <- struct{}{}
}
// Resume 恢复
func (c *CtrlWait) Resume() {
c.R <- struct{}{}
}
// NewCtrlWait 创建一个控制等待
func NewCtrlWait() *CtrlWait {
return &CtrlWait{
P: make(chan struct{}),
R: make(chan struct{}),
}
}
// PassCtrl 全局控制等待
var PassCtrl = NewCtrlWait()