package controller import ( "blazing/common/socket/errorcode" "blazing/logic/service/fight" "blazing/logic/service/fight/info" "blazing/logic/service/player" "blazing/logic/service/space" ) // public static const ARENA_SET_OWENR:uint = 2417; // 如果星际擂台上无人,站到星际擂台的包 // 前端到后端无数据内容 空包 // 后端到前端无数据内容 空包 // 都需要通过2419包广播更新擂台状态 func (h Controller) ARENA_SET_OWENR(data *fight.ARENA_SET_OWENR, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) { if c.CanFight() { space.GetSpace(c.Info.MapID).UP_ARENA(c, 1) } return } // public static const ARENA_FIGHT_OWENR:uint = 2418; // 挑战擂台的包 // 前端到后端无数据内容 空包 // 后端到前端无数据内容 空包 // 还是后端主动发送2503的包给双方前端后 等待前端加载完毕 主动发送2404包通知后端开始战斗 // 并不会通知对方是否接受挑战。只要有人挑战就直接进入对战 func (h Controller) ARENA_FIGHT_OWENR(data *fight.ARENA_FIGHT_OWENR, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) { if !c.CanFight() { return } t := space.GetSpace(c.Info.MapID).Can_ARENA(c) if t != nil { fight.NewFight(info.BattleMode.SINGLE_MODE, info.BattleStatus.FIGHT_WITH_PLAYER, t, c, func(foi *info.FightOverInfo) { }) ///开始对战,房主方以及被邀请方 } return } // 获取星际擂台信息的包 进入空间站地图前端会发送请求包 或者 有人站到星际擂台上后 广播回包 // 前端到后端无数据内容 // 后端到前端 func (h Controller) ARENA_GET_INFO(data *fight.ARENA_GET_INFO, c *player.Player) (result *info.S2C_ARENA_GET_INFO, err errorcode.ErrorCode) { result = &space.GetSpace(c.Info.MapID).ARENA return } // public static const ARENA_UPFIGHT:uint = 2420; // 放弃擂台挑战的包 // 前端到后端无数据内容 // 后端到前端无数据内容 // 都需要通过2419包广播更新擂台状态 func (h Controller) ARENA_UPFIGHT(data *fight.ARENA_UPFIGHT, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) { space.GetSpace(c.Info.MapID).UP_ARENA(c, 0) //result = &info.S2C_ARENA_GET_INFO{} return } func (h Controller) ARENA_OWENR_ACCE(data *fight.ARENA_OWENR_ACCE, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) { space.GetSpace(c.Info.MapID).UP_ARENA(c, 3) //result = &info.S2C_ARENA_GET_INFO{} return } // public static const ARENA_OWENR_ACCE:uint = 2422; // 此包为擂台战对战结束后 胜方前端会发送给后端 具体作用为通知后端发送2419包更新擂台信息。 // 前端到后端无数据内容 // 后端到前端无数据内容 // public static const ARENA_OWENR_OUT:uint = 2423; // 此包不清楚具体怎么触发 但已知此包为后端主动发送。不清楚什么情况下回用到