samba/server/game/baseroom/baseSeat.go

79 lines
1.3 KiB
Go
Raw Normal View History

2025-06-04 09:51:39 +08:00
package baseroom
import (
. "samba/server/game/player"
"time"
)
type BaseSeat struct {
no int
player *Player
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() *Player {
return s.player
}
func (s *BaseSeat) SetPlayer(player *Player) {
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
}