package msg import ( "rocommon" "rocommon/util" "roserver/baseserver/model" model3 "roserver/server_aoi/model" "roserver/serverproto" ) func init() { //角色进入地图(消息来自game) serverproto.Handle_AOI_SSPlayerEnterMapReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSPlayerEnterMapReq) tmpEv := ev.(*model.RecvServiceMsgEvent) if tmpEv == nil { return } util.InfoF("receive SSPlayerEnterMapReq msg=%v master=%v", msg, tmpEv.IsMaster) //msg.MapType == 0表示主城 aoiMap := model3.RoleMapMag.GetAoiMap(msg.MapType, msg.GuildId) if aoiMap != nil { aoiMap.PlayerEnterMap(msg.Pos, msg.ShowInfo.Uid, &model.ClientID{ SessID: msg.ClientId, ServiceID: msg.ServiceNode, //这边需要看一下是否有错,消息来自game }, int32(model3.UnityType_Player), msg.ShowInfo, tmpEv.IsMaster) } else { util.InfoF("uid=%v SSPlayerEnterMapReq aoi map err=aoi map not find", msg.ShowInfo.Uid) } }) //角色离开地图 serverproto.Handle_AOI_SSPlayerLeaveMapNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSPlayerLeaveMapNtf) tmpEv := ev.(*model.RecvServiceMsgEvent) if tmpEv == nil { return } util.InfoF("receive SSPlayerLeaveMapNtf msg=%v master=%v", msg, tmpEv.IsMaster) if cliId.SessID == 0 { aoiMap := model3.RoleMapMag.GetAoiMap(0, 0) if aoiMap != nil { aoiMap.NpcLeave(msg.Uid) } } else { model3.RoleMapMag.Leave(cliId.SessID, cliId.ServiceID) } }) //移动 serverproto.Handle_AOI_CSPlayerMoveReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSPlayerMoveReq) tmpEv := ev.(*model.RecvServiceMsgEvent) if tmpEv == nil { return } //util.InfoF("receive CSPlayerMoveReq cliId=%v msg=%v master=%v", cliId.SessID, msg, tmpEv.IsMaster) model3.RoleMapMag.Move(msg.Pos, cliId.SessID) }) //获取其他玩家角色信息 serverproto.Handle_AOI_CSMapGetOtherPlayersInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSMapGetOtherPlayersInfoReq) util.InfoF("receive CSMapGetOtherPlayersInfoReq msg=%v", msg) ntfMsg := &serverproto.SCMapOtherPlayersInfoNtf{} for _, value := range msg.PlayerList { info := &serverproto.PlayerShowInfo{Uid: value} ret := model3.RoleMapMag.FillAoiPlayerShowInfo(info) if !ret { continue } ntfMsg.InfoList = append(ntfMsg.InfoList, info) } if len(ntfMsg.InfoList) > 0 { model.ServiceReplay(ev, ntfMsg) } }) ////移动到目标点 //serverproto.Handle_AOI_CSPlayerMoveToReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { // //msg := ev.Msg().(*serverproto.CSPlayerMoveToReq) // //baseutil.InfoF("receive CSPlayerMoveToReq msg:%v", msg) // //todo... //}) //avatar信息同步等数据相关消息 serverproto.Handle_AOI_SSPlayerShowChangeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSPlayerShowChangeReq) util.InfoF("receive SSPlayerShowChangeReq msg:%v", msg) model3.RoleMapMag.MapRoleChangeShow(cliId.SessID, msg.ShowInfo) }) //客户端播放动作请求(来自mapRouter) serverproto.Handle_AOI_CSPlayerActionReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSPlayerActionReq) util.InfoF("receive CSPlayerActionReq msg:%v", msg) model3.RoleMapMag.MapRoleDoAction(cliId.SessID, msg.Uid, msg.ActionId, msg.Pos) }) }