收藏品奖励优化
This commit is contained in:
parent
fdbeb25af2
commit
852eb088fa
@ -56,3 +56,12 @@ func GetRewardType(Id int) int {
|
|||||||
}
|
}
|
||||||
return gamedata.GetIntValue(data, "Type")
|
return gamedata.GetIntValue(data, "Type")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetRewardLen() int {
|
||||||
|
data, err := gamedata.GetData(CFG_COLLECT)
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("GetRewardLen err:%v", err)
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return len(data)
|
||||||
|
}
|
||||||
|
|||||||
@ -22,7 +22,7 @@ const (
|
|||||||
COLLECT_TYPE_FACE = 2
|
COLLECT_TYPE_FACE = 2
|
||||||
COLLECT_TYPE_AVATAR = 3
|
COLLECT_TYPE_AVATAR = 3
|
||||||
|
|
||||||
jackpotPreviewSize = 18 // 展示的奖池预览数量,同时作为补充阈値
|
jackpotPreviewSize = 9 // 展示的奖池预览数量,同时作为补充阈値
|
||||||
)
|
)
|
||||||
|
|
||||||
func (c *Collect) InitData() {
|
func (c *Collect) InitData() {
|
||||||
@ -37,8 +37,12 @@ func (c *Collect) InitData() {
|
|||||||
|
|
||||||
// ensureJackpot 当奖池剩余少于预览数量时自动补充
|
// ensureJackpot 当奖池剩余少于预览数量时自动补充
|
||||||
func (c *Collect) ensureJackpot() {
|
func (c *Collect) ensureJackpot() {
|
||||||
if len(c.Jackpot) <= jackpotPreviewSize {
|
rewardLen := collectCfg.GetRewardLen()
|
||||||
c.Jackpot = initJackpot2(c.Jackpot)
|
if len(c.Jackpot) <= rewardLen {
|
||||||
|
loopNum := (rewardLen-len(c.Jackpot))/jackpotPreviewSize + 1
|
||||||
|
for i := 0; i < loopNum; i++ {
|
||||||
|
c.Jackpot = append(c.Jackpot, initJackpot2(nil)...)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,9 +60,10 @@ func (c *Collect) GetReward(id, num, factor int) ([]*item.Item, error) {
|
|||||||
}
|
}
|
||||||
// 领取奖励
|
// 领取奖励
|
||||||
c.Reward = append(c.Reward, id)
|
c.Reward = append(c.Reward, id)
|
||||||
jackpotId := 0
|
jackpotId := c.Jackpot[id-1]
|
||||||
jackpotId, c.Jackpot = GoUtil.PopSlice(c.Jackpot)
|
if jackpotId == 0 {
|
||||||
c.ensureJackpot()
|
return nil, fmt.Errorf("id : %d;奖池数据异常", id)
|
||||||
|
}
|
||||||
items := collectCfg.GetJackpotItems(jackpotId)
|
items := collectCfg.GetJackpotItems(jackpotId)
|
||||||
items = GoUtil.FormatStarItem(items, factor)
|
items = GoUtil.FormatStarItem(items, factor)
|
||||||
return items, nil
|
return items, nil
|
||||||
@ -66,11 +71,11 @@ func (c *Collect) GetReward(id, num, factor int) ([]*item.Item, error) {
|
|||||||
|
|
||||||
func (c *Collect) BackData(factor int) *msg.ResCollectInfo {
|
func (c *Collect) BackData(factor int) *msg.ResCollectInfo {
|
||||||
itemsMsg := make([]*msg.CollectItem, 0, jackpotPreviewSize)
|
itemsMsg := make([]*msg.CollectItem, 0, jackpotPreviewSize)
|
||||||
for i := 0; i < jackpotPreviewSize; i++ {
|
for k, v := range c.Jackpot {
|
||||||
items := collectCfg.GetJackpotItems(c.Jackpot[i])
|
items := collectCfg.GetJackpotItems(v)
|
||||||
items = GoUtil.FormatStarItem(items, factor)
|
items = GoUtil.FormatStarItem(items, factor)
|
||||||
itemsMsg = append(itemsMsg, &msg.CollectItem{
|
itemsMsg = append(itemsMsg, &msg.CollectItem{
|
||||||
Id: int32(i + 1),
|
Id: int32(k + 1),
|
||||||
Items: item.ItemToMsg(items),
|
Items: item.ItemToMsg(items),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -96,7 +96,8 @@ func TestFixUserData(t *testing.T) {
|
|||||||
func TestRandInt(t *testing.T) {
|
func TestRandInt(t *testing.T) {
|
||||||
p1 := new(game.Player)
|
p1 := new(game.Player)
|
||||||
p1.InitPlayer("3625212")
|
p1.InitPlayer("3625212")
|
||||||
p1.DeleteHighOrder()
|
CollectMod := p1.GetCollectMod()
|
||||||
|
p1.PushClientRes(CollectMod.BackData(p1.GetOrderFactor()))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestII(t *testing.T) {
|
func TestII(t *testing.T) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user