game/common/baseroom/interface.go

46 lines
807 B
Go
Raw Normal View History

2025-06-06 20:02:58 +08:00
package baseroom
import "game/common/proto/pb"
type IRoom interface {
Id() int
RoomType() int // 房间配置id
PlayType() int
// SeatPlayerNum() int
// HasEmptySeat() bool
// HasPlayer(uid int64) bool
OnMessage(cmd int32, params ...any)
// ReleaseRoom()
}
type ISeat interface {
No() int
Empty() bool
Player() IPlayer
SetPlayer(player IPlayer)
FakeLeave() bool
SetFakeLeave(leave bool)
// SeatedTime() time.Time
}
type IPlayer interface {
Id() int64
Robot() IRobot
}
type IRobot interface {
OnMessage(cmd pb.MsgId, params ...any)
}
type ITimerHandler interface {
OnTimer(timerType TimerType, args ...interface{})
}
type ISender interface {
SendMsg(user IPlayer, msgId pb.MsgId, msg interface{})
}
type ICreateRoom interface {
CreateRoom(id, roomType int) (IRoom, pb.ErrCode)
}