game/common/baseroom/baseSeat.go

78 lines
1.3 KiB
Go
Raw Normal View History

2025-06-06 20:02:58 +08:00
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
}