package msg import ( "rocommon" "rocommon/util" "roserver/baseserver/model" guildMode "roserver/guild/model" "roserver/serverproto" ) func init() { //todo... // 添加协议 //创建工会 serverproto.Handle_GUILD_CSBuildGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSBuildGuildReq) util.InfoF("receive CSBuildGuildReq msg=%v", msg) ackMsg := &serverproto.SCBuildGuildAck{} bRet, guildBrief := guildMode.GuildMag.BuildGuild(msg.Uid, msg.GuildName, msg.GuildBadge) ackMsg.Error = int32(bRet) ackMsg.GuildBrief = guildBrief model.ServiceReplay(ev, ackMsg) }) //解散工会 serverproto.Handle_GUILD_CSDisbandGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSDisbandGuildReq) util.InfoF("receive CSDisbandGuildReq msg=%v", msg) ackMsg := &serverproto.SCDisbandGuildAck{} bRet := guildMode.GuildMag.DisbandGuild(msg.Uid, msg.GuildId) ackMsg.Error = int32(bRet) model.ServiceReplay(ev, ackMsg) }) //申请加入公会 serverproto.Handle_GUILD_CSApplyGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSApplyGuildReq) util.InfoF("receive CSApplyGuildReq msg=%v", msg) ackMsg := &serverproto.SCApplyGuildAck{} ackMsg.GuildId = msg.GuildId ackMsg.OpType = msg.OpType //todo 返回包漏加数据 if msg.OpType == 1 { bRet := guildMode.GuildMag.ApplyGuild(msg.Uid, msg.GuildId, msg.Level, ev) ackMsg.Error = int32(bRet) } else if msg.OpType == 2 { bRet := guildMode.GuildMag.QuitApplyGuild(msg.Uid, msg.GuildId) ackMsg.Error = int32(bRet) } model.ServiceReplay(ev, ackMsg) }) //退出公会 serverproto.Handle_GUILD_CSQuitGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSQuitGuildReq) util.InfoF("receive CSQuitGuildReq msg=%v", msg) ackMsg := &serverproto.SCQuitGuildAck{} bRet := guildMode.GuildMag.QuitGuild(msg.Uid, msg.GuildId) ackMsg.Error = int32(bRet) model.ServiceReplay(ev, ackMsg) }) //踢出公会成员 serverproto.Handle_GUILD_CSKickGuildMemberReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSKickGuildMemberReq) util.InfoF("receive CSKickGuildMemberReq msg=%v", msg) ackMsg := &serverproto.SCKickGuildMemberAck{} ackMsg.Uid = msg.Uid bRet := guildMode.GuildMag.KickGuildMember(msg.PreUid, msg.Uid, msg.GuildId, true) ackMsg.Error = int32(bRet) model.ServiceReplay(ev, ackMsg) }) //提降官职 serverproto.Handle_GUILD_CSChangeMemberTitleReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSChangeMemberTitleReq) util.InfoF("receive CSChangeMemberTitleReq msg=%v", msg) ackMsg := &serverproto.SCChangeMemberTitleAck{} bRet := guildMode.GuildMag.ChangeMemberTitle(msg.PreUid, msg.Uid, msg.GuildId, msg.Title) ackMsg.Title = msg.Title ackMsg.Uid = msg.Uid ackMsg.Error = int32(bRet) model.ServiceReplay(ev, ackMsg) }) //公会信息修改 serverproto.Handle_GUILD_CSSetGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSSetGuildInfoReq) util.InfoF("receive CSSetGuildInfoReq msg=%v", msg) ackMsg := &serverproto.SCSetGuildInfoAck{} bRet := guildMode.GuildMag.SetGuildInfo(msg) ackMsg.Error = int32(bRet) if ackMsg.Error == int32(serverproto.ErrorCode_ERROR_OK) { ackMsg.JoinType = msg.JoinType ackMsg.JoinLevel = msg.JoinLevel ackMsg.GuildBadge = msg.GuildBadge ackMsg.RecruitNotice = msg.RecruitNotice } model.ServiceReplay(ev, ackMsg) }) //公会申请处理 serverproto.Handle_GUILD_CSApplyInfoHandleReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSApplyInfoHandleReq) util.InfoF("receive CSApplyInfoHandleReq msg=%v", msg) ackMsg := &serverproto.SCApplyInfoHandleAck{ GuildId:msg.GuildId, HandleType:msg.HandleType, } bRet := guildMode.GuildMag.ApplyInfoHandle(msg, ackMsg) ackMsg.Error = int32(bRet) model.ServiceReplay(ev, ackMsg) }) //公会信息请求 serverproto.Handle_GUILD_CSGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildInfoReq) util.InfoF("receive CSGuildInfoReq msg=%v", msg) ackMsg := &serverproto.SCGuildInfoAck{} bRet,base,member := guildMode.GuildMag.GetGuildInfo(msg.GuildId) ackMsg.Error = int32(bRet) ackMsg.Guild_Base = base ackMsg.MemBrief = member ackMsg.Apply = guildMode.GuildMag.CheckGuildApply(msg.Uid, msg.GuildId) model.ServiceReplay(ev, ackMsg) }) //公会信息请求 serverproto.Handle_GUILD_CSGetSelfGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGetSelfGuildInfoReq) util.InfoF("receive CSGetSelfGuildInfoReq msg=%v", msg) ackMsg := &serverproto.SCGetSelfGuildInfoAck{ Error:int32(serverproto.ErrorCode_ERROR_FAIL), } bRet := guildMode.GuildMag.GetSelfGuildData(msg, ackMsg) ackMsg.Error = int32(bRet) /* bRet,base,member := guildMode.GuildMag.GetGuildInfo(msg.GuildId) ackMsg.Error = int32(bRet) ackMsg.Guild_Base = base ackMsg.MemBrief = member guild := guildMode.GuildMag.GetGuild(msg.GuildId) ackMsg.TotalActive = guildMode.GuildMag.GetMemberActive(*member) if guild != nil { title := guildMode.GuildMag.GetMemberTitle(msg.Uid, guild) if title == guildMode.Guild_Title_Vice_Pre || title == guildMode.Guild_Title_Pre { if guild.ApplyList == nil || len(guild.ApplyList.ApplyGuild) <= 0 { ackMsg.ApplyList = false } else { ackMsg.ApplyList = true } } } */ model.ServiceReplay(ev, ackMsg) }) serverproto.Handle_GUILD_SSPlayerStateChangeNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSPlayerStateChangeNtf) util.InfoF("receive SSPlayerStateChangeNtf msg=%v", msg) guildMode.GuildMag.MemberStateChange(msg.Uid, msg.GuildId, msg.ChangeType, false, msg.DemonFightTime, false, ev) }) //////////////////////////////////////////// 推荐公会 ///////////////////////////////////////////////// //推荐公会请求 serverproto.Handle_GUILD_CSRecommendGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSRecommendGuildInfoReq) util.InfoF("receive CSRecommendGuildInfoReq msg=%v", msg) ackMsg := &serverproto.SCRecommendGuildInfoAck{} guildMode.GuildMag.PackRecommendGuild(msg.Uid, msg.ReqCount, ackMsg) model.ServiceReplay(ev, ackMsg) }) //修改公户名称 serverproto.Handle_GUILD_CSGuildRenameReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildRenameReq) util.InfoF("receive CSGuildRenameReq msg=%v", msg) ackMsg := &serverproto.SCGuildRenameAck{} bRet := guildMode.GuildMag.ChangeGuildName(msg.Uid, msg.GuildId, msg.GuildName, ev) ackMsg.Error = int32(bRet) ackMsg.GuildName = msg.GuildName model.ServiceReplay(ev, ackMsg) }) //修改公户公告 serverproto.Handle_GUILD_CSGuildReNoticeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildReNoticeReq) util.InfoF("receive CSGuildReNoticeReq msg=%v", msg) ackMsg := &serverproto.SCGuildReNoticeAck{} bRet := guildMode.GuildMag.ChangeGuildNotice(msg.GuildId, msg.GuildNotice, msg.Uid) ackMsg.Error = int32(bRet) ackMsg.GuildNotice = msg.GuildNotice model.ServiceReplay(ev, ackMsg) }) serverproto.Handle_GUILD_CSGuildMemberInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildMemberInfoReq) util.InfoF("receive CSGuildMemberInfoReq msg=%v", msg) ackMsg := &serverproto.SCGuildMemberInfoAck{ GuildId: msg.GuildId, } guildMode.GuildMag.GetGuildMemberData(msg, ackMsg) model.ServiceReplay(ev, ackMsg) }) //玩家上线,一定要请求公会信息的。 serverproto.Handle_GUILD_SSOnlineGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSOnlineGuildInfoReq) util.InfoF("receive SSOnlineGuildInfoReq msg=%v", msg) guildMode.GuildMag.MemberStateChange(msg.Uid, msg.GuildId, 1, msg.IsRelogin, msg.DemonFightTime, true, ev) }) //玩家上线,一定要请求公会信息的。 serverproto.Handle_GUILD_CSSearchGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSSearchGuildReq) util.InfoF("receive CSSearchGuildReq msg=%v", msg) // SCSearchGuildAck guildMode.GuildMag.SearchGuild(msg.Uid, msg.SearchString, ev) }) //公会申请列表请求 serverproto.Handle_GUILD_CSGuildApplyDataReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildApplyDataReq) util.InfoF("receive CSGuildApplyDataReq msg=%v", msg) //todo wangzhaocan 检查是否有公会 guildMode.GuildMag.GetGuildApplyList(msg.Uid, msg.GuildId, ev) }) //公会日志 serverproto.Handle_GUILD_CSGuildLogInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildLogInfoReq) util.InfoF("receive CSGuildLogInfoReq msg=%v", msg) //todo wangzhaocan 检查是否有公会 guildMode.GuildMag.GetGuildLogs(msg.GuildId, msg.LogTime, ev) }) //公会日志 serverproto.Handle_GUILD_SSGuildChatMessageNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSGuildChatMessageNtf) util.InfoF("receive SSGuildChatMessageReq msg=%v", msg) guildMode.GuildMag.OnGuildChat(msg) }) //公会boss信息 serverproto.Handle_GUILD_CSGuildBossInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildBossInfoReq) util.InfoF("receive CSGuildBossInfoReq msg=%v", msg) guildMode.GuildMag.PackGuildBossInfo(msg.GuildId, ev) }) //boss日志 serverproto.Handle_GUILD_CSGuildBossLogReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildBossLogReq) util.InfoF("receive CSGuildBossLogReq msg=%v", msg) guildMode.GuildMag.GetGuildBossLog(msg.GuildId, msg.BossId, msg.LogTime, ev) }) serverproto.Handle_GUILD_CSGuildBossChallengeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildBossChallengeReq) util.InfoF("receive CSGuildBossChallengeReq msg=%v", msg) ackMsg := &serverproto.SCGuildBossChallengeAck{} bRet := guildMode.GuildMag.ChallengeGuildBoss(msg,ev) ackMsg.Error = int32(bRet) ackMsg.BossId = msg.BossId ackMsg.Damage = msg.Damage model.ServiceReplay(ev, ackMsg) }) serverproto.Handle_GUILD_CSGuildBossSummonReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildBossSummonReq) util.InfoF("receive CSGuildBossSummonReq msg=%v", msg) ackMsg := &serverproto.SCGuildBossSummonAck{} bRet := guildMode.GuildMag.SummonGuildBoss(msg.GuildId, msg.BossId, msg.Uid, ackMsg, ev) ackMsg.Error = int32(bRet) model.ServiceReplay(ev, ackMsg) }) serverproto.Handle_GUILD_CSGuildBossExtraRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildBossExtraRewardReq) util.InfoF("receive CSGuildBossExtraRewardReq msg=%v", msg) ackMsg := &serverproto.SCGuildBossExtraRewardAck{} bRet := guildMode.GuildMag.GetGuildBossExtraReward(msg.GuildId, msg.BossId, ackMsg) ackMsg.Error = int32(bRet) model.ServiceReplay(ev, ackMsg) }) //======================================================== SS协议 ======================================================== //公会申请列表请求 serverproto.Handle_GUILD_SSGuildOnAddActivityNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSGuildOnAddActivityNtf) util.InfoF("receive SSGuildOnAddActivityNtf msg=%v", msg) //todo wangzhaocan 检查是否有公会 guildMode.GuildMag.OnRoleActivityChange(msg.Uid, msg.GuildId, msg.Activity) }) //公会申请列表请求 serverproto.Handle_GUILD_SSGuildMemberOnlineInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSGuildMemberOnlineInfoAck) util.InfoF("receive SSGuildMemberOnlineInfoAck msg=%v", msg) //todo wangzhaocan 检查是否有公会 guildMode.GuildMag.OnGuildMemberOnlineAck(msg) }) serverproto.Handle_GUILD_CSGuildDemonInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildDemonInfoReq) util.InfoF("receive CSGuildDemonInfoReq msg=%v", msg) //todo wangzhaocan 检查是否有公会 ackMsg := &serverproto.SCGuildDemonInfoAck{ ReqUid: msg.Uid, } guildMode.GuildMag.GetGuildDemonInfo(msg.Uid, msg.GuildId, ackMsg) model.ServiceReplay(ev, ackMsg) }) serverproto.Handle_GUILD_SSGuildDemonFightReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSGuildDemonFightReq) util.InfoF("receive CSGuildDemonFightReq msg=%v", msg) //todo wangzhaocan 检查是否有公会 ackMsg := &serverproto.SSGuildDemonFightAck{ ReqUid: msg.Uid, } guildMode.GuildMag.GuildDemonFight(msg, ackMsg) model.ServiceReplay(ev, ackMsg) }) serverproto.Handle_GUILD_CSGuildDemonGuildRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildDemonGuildRankReq) util.InfoF("receive CSGuildDemonGuildRankReq msg=%v", msg) //todo wangzhaocan 检查是否有公会 ackMsg := &serverproto.SCGuildDemonGuildRankAck{ Uid: msg.Uid, } guildMode.GuildMag.GetDemonGuildRank(msg.Page, msg.GuildId, ackMsg) model.ServiceReplay(ev, ackMsg) }) serverproto.Handle_GUILD_CSGuildDemonMVPRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSGuildDemonMVPRankReq) util.InfoF("receive CSGuildDemonMVPRankReq msg=%v", msg) //todo wangzhaocan 检查是否有公会 ackMsg := &serverproto.SCGuildDemonMVPRankAck{ Uid: msg.Uid, } guildMode.GuildMag.GetGuildDemonMVPReq(msg.Page, msg.GuildId, ackMsg) model.ServiceReplay(ev, ackMsg) }) //公会变更会长 serverproto.Handle_GUILD_SSGuildBattleGMChangeLeaderReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSGuildBattleGMChangeLeaderReq) util.InfoF("receive SSGuildBattleGMChangeLeaderReq msg=%v", msg) guildMode.GuildMag.GMChangeGuildLeader(msg.GuildId) }) //公会踢除玩家 serverproto.Handle_GUILD_SSGuildBattleGMKickMemberReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSGuildBattleGMKickMemberReq) util.InfoF("receive SSGuildBattleGMKickMemberReq msg=%v", msg) guildMode.GuildMag.GMKickMember(msg.GuildId, msg.Uid) }) //GM设定公会魔王伤害 serverproto.Handle_GUILD_SSGuildBattleGMDemonDamageReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSGuildBattleGMDemonDamageReq) util.InfoF("receive SSGuildBattleGMDemonDamageReq msg=%v", msg) guildMode.GuildMag.GMSetGuildDemonDamage() }) }