refactor: 重构宠物仓库列表获取逻辑
This commit is contained in:
@@ -9,9 +9,7 @@ import (
|
||||
type GetPetListInboundEmpty struct {
|
||||
Head common.TomeeHeader `cmd:"2303" struc:"skip"`
|
||||
}
|
||||
type GetPetListFreeInboundEmpty struct {
|
||||
Head common.TomeeHeader `cmd:"2320" struc:"skip"`
|
||||
}
|
||||
|
||||
type GetPetListOutboundInfo struct {
|
||||
ShortInfoListLen uint32 `struc:"int32,sizeof=ShortInfoList"`
|
||||
ShortInfoList []PetShortInfo
|
||||
|
||||
@@ -11,6 +11,18 @@ import (
|
||||
"github.com/jinzhu/copier"
|
||||
)
|
||||
|
||||
func (player *Player) WarehousePetList() []model.PetInfo {
|
||||
allPets := player.Service.Pet.PetInfo(0)
|
||||
if len(allPets) == 0 {
|
||||
return make([]model.PetInfo, 0)
|
||||
}
|
||||
|
||||
|
||||
result := make([]model.PetInfo, 0, len(allPets))
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
// AddPetExp 添加宠物经验
|
||||
func (p *Player) AddPetExp(petInfo *model.PetInfo, addExp int64) {
|
||||
if addExp < 0 {
|
||||
|
||||
33
logic/service/player/pet_bag.go
Normal file
33
logic/service/player/pet_bag.go
Normal file
@@ -0,0 +1,33 @@
|
||||
package player
|
||||
|
||||
import (
|
||||
"blazing/logic/service/pet"
|
||||
"blazing/modules/player/model"
|
||||
)
|
||||
|
||||
func buildCatchTimeSet(petLists ...[]model.PetInfo) map[uint32]struct{} {
|
||||
total := 0
|
||||
for _, petList := range petLists {
|
||||
total += len(petList)
|
||||
}
|
||||
|
||||
catchTimes := make(map[uint32]struct{}, total)
|
||||
for _, petList := range petLists {
|
||||
for _, petInfo := range petList {
|
||||
catchTimes[petInfo.CatchTime] = struct{}{}
|
||||
}
|
||||
}
|
||||
return catchTimes
|
||||
}
|
||||
|
||||
// GetUserBagPetInfo 返回主背包和并列备用精灵列表。
|
||||
func (p *Player) GetUserBagPetInfo() *pet.GetUserBagPetInfoOutboundInfo {
|
||||
|
||||
result := &pet.GetUserBagPetInfoOutboundInfo{
|
||||
PetList: make([]model.PetInfo, len(p.Info.PetList)),
|
||||
BackupPetList: make([]model.PetInfo, len(p.Info.BackupPetList)),
|
||||
}
|
||||
copy(result.PetList, p.Info.PetList)
|
||||
copy(result.BackupPetList, p.Info.BackupPetList)
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user