feat: 实现跨服PVP匹配和战斗功能
This commit is contained in:
@@ -2,12 +2,10 @@ package controller
|
||||
|
||||
import (
|
||||
"blazing/common/socket/errorcode"
|
||||
"blazing/cool"
|
||||
"blazing/logic/service/common"
|
||||
"blazing/logic/service/fight"
|
||||
"blazing/logic/service/fight/info"
|
||||
"blazing/logic/service/fight/pvp"
|
||||
"blazing/logic/service/player"
|
||||
"context"
|
||||
)
|
||||
|
||||
// 表示"宠物王加入"的入站消息数据
|
||||
@@ -18,14 +16,22 @@ type PetTOPLEVELnboundInfo struct {
|
||||
}
|
||||
|
||||
func (h Controller) JoINtop(data *PetTOPLEVELnboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
|
||||
cool.RedisDo(context.TODO(), "sun:join", info.RPCFightinfo{
|
||||
PlayerID: c.Info.UserID,
|
||||
Mode: data.Mode,
|
||||
Type: 1,
|
||||
})
|
||||
|
||||
// // 类型断言为 UniversalClient
|
||||
// universalClient, _ := client.(goredis.UniversalClient)
|
||||
// repo.NewPlayerRepository(universalClient).AddPlayerToPool(context.TODO(), data.Head.UserID, 1)
|
||||
err = pvp.JoinPeakQueue(c, data.Mode)
|
||||
if err != 0 {
|
||||
return nil, err
|
||||
}
|
||||
return nil, -1
|
||||
}
|
||||
|
||||
func (h Controller) CancelPeakQueue(data *fight.PeakQueueCancelInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
|
||||
pvp.CancelPeakQueue(c)
|
||||
return nil, -1
|
||||
}
|
||||
|
||||
func (h Controller) SubmitPeakBanPick(data *fight.PeakBanPickSubmitInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
|
||||
err = pvp.SubmitBanPick(c, data.SelectedCatchTimes, data.BanCatchTimes)
|
||||
if err != 0 {
|
||||
return nil, err
|
||||
}
|
||||
return nil, -1
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user