78 lines
1.3 KiB
Go
78 lines
1.3 KiB
Go
package baseroom
|
||
|
||
import (
|
||
"time"
|
||
)
|
||
|
||
type BaseSeat struct {
|
||
no int
|
||
player IPlayer
|
||
fakeLeave bool
|
||
isCurrent bool // 多开时,该标记true为玩家的当前桌
|
||
canAct bool // true:当前能叫分或出牌
|
||
ready bool
|
||
seatedTime time.Time // 落座的时间
|
||
}
|
||
|
||
func NewBaseSeat(no int) *BaseSeat {
|
||
return &BaseSeat{no: no}
|
||
}
|
||
|
||
// SeatedTime 落座时间
|
||
func (s *BaseSeat) SeatedTime() time.Time {
|
||
return s.seatedTime
|
||
}
|
||
|
||
func (s *BaseSeat) No() int {
|
||
return s.no
|
||
}
|
||
|
||
func (s *BaseSeat) Empty() bool {
|
||
return s.player == nil
|
||
}
|
||
|
||
func (s *BaseSeat) Player() IPlayer {
|
||
return s.player
|
||
}
|
||
|
||
func (s *BaseSeat) SetPlayer(player IPlayer) {
|
||
s.player = player
|
||
if player != nil {
|
||
s.seatedTime = time.Now()
|
||
} else {
|
||
s.seatedTime = time.Time{}
|
||
}
|
||
}
|
||
|
||
func (s *BaseSeat) FakeLeave() bool {
|
||
return s.fakeLeave
|
||
}
|
||
|
||
func (s *BaseSeat) SetFakeLeave(fakeLeave bool) {
|
||
s.fakeLeave = fakeLeave
|
||
}
|
||
|
||
func (s *BaseSeat) SetCurrentRoom(flag bool) {
|
||
s.isCurrent = flag
|
||
}
|
||
|
||
func (s *BaseSeat) IsPlayerCurrentRoom() bool {
|
||
return s.isCurrent
|
||
}
|
||
|
||
func (s *BaseSeat) CanAct() bool {
|
||
return s.canAct
|
||
}
|
||
|
||
func (s *BaseSeat) SetCanAct(can bool) {
|
||
s.canAct = can
|
||
}
|
||
|
||
func (s *BaseSeat) Ready() bool {
|
||
return s.ready
|
||
}
|
||
|
||
func (s *BaseSeat) SetReady(ready bool) {
|
||
s.ready = ready
|
||
}
|