samba/server/game/baseroom/interface.go
2025-06-04 09:51:39 +08:00

48 lines
987 B
Go

package baseroom
import (
"samba/server/game/player"
"samba/util/state"
"time"
)
type IRoom interface {
Id() int
ClubId() int
Type() int // 房间配置id
PlayType() int
Status() state.RoomStatus
SeatPlayerNum() int
HasEmptySeat() bool
HasPlayer(uid int64) bool
IsPlayerCurrentRoom(int64) bool
SetCurrentRoom(int64, bool)
OnMessage(msgId string, msg map[string]interface{})
ReleaseRoom()
}
type ISeat interface {
No() int
Empty() bool
Player() *player.Player
SetPlayer(*player.Player)
FakeLeave() bool
SetFakeLeave(leave bool)
SetCurrentRoom(bool)
IsPlayerCurrentRoom() bool
SeatedTime() time.Time
}
type ITimerHandler interface {
OnTimer(timerType TimerType, args ...interface{})
}
type ISender interface {
SendMsg(user *player.Player, msgId string, msg interface{})
}
//type ISendMsgToGate interface {
// SendMsgToGate(uid int64, msgId string, msg interface{})
// SendMsgToOther(srvName, routingKey string, uid int64, msgId string, msg interface{})
//}