107 lines
2.6 KiB
Go
107 lines
2.6 KiB
Go
package model
|
|
|
|
import "roserver/serverproto"
|
|
|
|
const (
|
|
ROLL_CARD_X5 = 5
|
|
ROLL_CARD_TYPE_NORMAL = 1
|
|
ROLL_CARD_TYPE_MINI = 2
|
|
ROLL_CARD_TYPE_MVP = 3
|
|
)
|
|
|
|
type RollCardCfg struct {
|
|
cardId int32
|
|
cardType int32
|
|
cardLevel int32
|
|
weight int32
|
|
rangeStart int32
|
|
rangeEnd int32
|
|
}
|
|
|
|
type LiveCardRoom struct {
|
|
LiveRoom
|
|
playerCards []*serverproto.KeyValueType64Str
|
|
rollCardCfgList []*RollCardCfg
|
|
}
|
|
|
|
func newLiveCardRoom(roomId uint32, tickInterval uint32) *LiveCardRoom {
|
|
room := &LiveCardRoom{
|
|
LiveRoom: newLiveRoom(roomId, LIVEROOM_TYPE_CARD, tickInterval),
|
|
}
|
|
room.Init()
|
|
return room
|
|
}
|
|
|
|
func (self *LiveCardRoom) Init() {
|
|
cardCfg := serverproto.CardCfgLoader
|
|
for _, v := range cardCfg {
|
|
switch v.CardType {
|
|
case ROLL_CARD_TYPE_NORMAL:
|
|
self.rollCardCfgList = append(self.rollCardCfgList, &RollCardCfg{
|
|
cardId: v.CardId,
|
|
cardType: v.CardType,
|
|
cardLevel: v.CardLevel,
|
|
weight: (10 + v.CardLevel),
|
|
})
|
|
case ROLL_CARD_TYPE_MINI:
|
|
self.rollCardCfgList = append(self.rollCardCfgList, &RollCardCfg{
|
|
cardId: v.CardId,
|
|
cardType: v.CardType,
|
|
cardLevel: v.CardLevel,
|
|
weight: (5 + v.CardLevel),
|
|
})
|
|
case ROLL_CARD_TYPE_MVP:
|
|
self.rollCardCfgList = append(self.rollCardCfgList, &RollCardCfg{
|
|
cardId: v.CardId,
|
|
cardType: v.CardType,
|
|
cardLevel: v.CardLevel,
|
|
weight: (0 + v.CardLevel),
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
func (self *LiveCardRoom) RollCards(cardCount int) string {
|
|
rollInfo := ""
|
|
// cards := make([]uint32, 0)
|
|
if cardCount == ROLL_CARD_X5 {
|
|
// 先保底抽一张MINI卡
|
|
|
|
}
|
|
return rollInfo
|
|
}
|
|
|
|
func (self *LiveCardRoom) ShowStart() {
|
|
// 为准备的玩家抽卡
|
|
self.playerCards = make([]*serverproto.KeyValueType64Str, 0)
|
|
for _, uid := range self.LiveRoom.readyUidList {
|
|
self.playerCards = append(self.playerCards, &serverproto.KeyValueType64Str{
|
|
Key: uid,
|
|
})
|
|
}
|
|
}
|
|
|
|
func (self *LiveCardRoom) ShowEnd() {}
|
|
|
|
func (self *LiveCardRoom) GetMaxReadyNum(roomType uint32) int {
|
|
return LIVEROOM_CARD_MAX_READY_NUM
|
|
}
|
|
|
|
func (self *LiveCardRoom) GetPlayDataList(readyUidList []uint64, uid uint64) []*serverproto.KeyValueType64Str {
|
|
return nil
|
|
}
|
|
|
|
// 抽卡:获取整个抽卡结果数据,在客户端播放抽卡动画
|
|
func (self *LiveCardRoom) GetShowResultList(readyUidList []uint64, uid uint64) []*serverproto.KeyValueType64Str {
|
|
return nil
|
|
}
|
|
|
|
// 抽卡:获取当前玩家获得的物品
|
|
func (self *LiveCardRoom) GetShowRewardList(readyUidList []uint64, uid uint64) []*serverproto.KeyValueType {
|
|
return nil
|
|
}
|
|
|
|
func (self *LiveCardRoom) HandleSubmit(uid uint64, data []*serverproto.KeyValueType) int32 {
|
|
return 0
|
|
}
|