优化图鉴收集功能
This commit is contained in:
parent
5d160f71ef
commit
6e0d3a2709
@ -518,3 +518,28 @@ func GetMergeStar(MergeList []int) int {
|
|||||||
}
|
}
|
||||||
return Star
|
return Star
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetAllChessBySeries(Series string) []int {
|
||||||
|
data, err := gamedata.GetData(CFG_NAME)
|
||||||
|
ProductList := GetEmitProduce(Series)
|
||||||
|
if err != nil {
|
||||||
|
return []int{}
|
||||||
|
}
|
||||||
|
var r []int
|
||||||
|
for k, v := range data {
|
||||||
|
Type := gamedata.GetStringValue(v, "Type")
|
||||||
|
if Type == "Emitter" {
|
||||||
|
EmitId := gamedata.GetStringValue(v, "Emit_ID")
|
||||||
|
if EmitId == Series {
|
||||||
|
r = append(r, GoUtil.Int(k))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if Type == "Product" {
|
||||||
|
Color := gamedata.GetStringValue(v, "Color")
|
||||||
|
if GoUtil.InStringArray(Color, ProductList) {
|
||||||
|
r = append(r, GoUtil.Int(k))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
|||||||
@ -171,7 +171,8 @@ func ReqGetHandbookReward(player *Player, buf []byte) error {
|
|||||||
func RegHandbookAllReward(player *Player, buf []byte) error {
|
func RegHandbookAllReward(player *Player, buf []byte) error {
|
||||||
req := &msg.RegHandbookAllReward{}
|
req := &msg.RegHandbookAllReward{}
|
||||||
proto.Unmarshal(buf, req)
|
proto.Unmarshal(buf, req)
|
||||||
Items, err := player.PlayMod.getHandbookMod().CollectItem(req.Type)
|
AllChess := mergeDataCfg.GetAllChessBySeries(req.Type)
|
||||||
|
Items, err := player.PlayMod.getHandbookMod().CollectItem(req.Type, AllChess)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
player.SendErrClienRes(&msg.ResHandbookAllReward{
|
player.SendErrClienRes(&msg.ResHandbookAllReward{
|
||||||
Code: msg.RES_CODE_FAIL,
|
Code: msg.RES_CODE_FAIL,
|
||||||
|
|||||||
@ -58,7 +58,12 @@ func (h *Handbook) GetHandbookReward(Id int) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *Handbook) CollectItem(Id string) ([]*item.Item, error) {
|
func (h *Handbook) CollectItem(Id string, AllChess []int) ([]*item.Item, error) {
|
||||||
|
for _, v := range AllChess {
|
||||||
|
if _, ok := h.BookList[v]; !ok {
|
||||||
|
return nil, fmt.Errorf("图鉴未解锁")
|
||||||
|
}
|
||||||
|
}
|
||||||
if _, ok := h.Collect[Id]; ok {
|
if _, ok := h.Collect[Id]; ok {
|
||||||
return nil, fmt.Errorf("已经领取过该奖励")
|
return nil, fmt.Errorf("已经领取过该奖励")
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user