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 }