public static List <NBSolutionTeammember> GetArenaSolutionTeammembers(ArenaTeammemberFrame arenaTeammemberFrame, bool onlyMain = false, bool withHire = true, string siteId = "") { var buffView = ArenaBuffDataCore.Instance().GetMembers(arenaTeammemberFrame.ManagerId, arenaTeammemberFrame, true, arenaTeammemberFrame.ZoneName); if (buffView == null) { return(null); } return(GetArenaSolutionTeammembers(arenaTeammemberFrame, buffView, onlyMain, withHire, arenaTeammemberFrame.ZoneName)); }
public static ManagerInput BuildTransferManagerArena(MatchManagerInfo managerInfo, ArenaTeammemberFrame arenaFrame, bool isGuide = false, DTOBuffMemberView buffView = null, string siteId = "") { try { if (managerInfo.IsNpc) { return(GetTransferNpc(managerInfo)); } if (null == buffView) { buffView = ArenaBuffDataCore.Instance().GetMembers(managerInfo.ManagerId, arenaFrame, true, siteId); } return(CreateTransferManagerArena(managerInfo, buffView, isGuide, arenaFrame, siteId)); } catch (Exception ex) { SystemlogMgr.Error("BuildTransferManager", ex); throw; } }
int doRebuildKpi(Guid managerId, int arenaType) { try { var arenaFrame = new ArenaTeammemberFrame(managerId, (EnumArenaType)arenaType); var buffView = ArenaBuffDataCore.Instance().RebuildMembers(managerId, arenaFrame); if (buffView != null) { if (buffView.Kpi > 0) { arenaFrame.Kpi = buffView.Kpi; arenaFrame.Save(); } return(buffView.Kpi); } return(-1); } catch (Exception ex) { SystemlogMgr.Error("doRebuildKpi", ex); return(-1); } }
//public Match_FightinfoResponse GetCrowdFightInfo(Guid matchId, Guid managerId) //{ // var match = MemcachedFactory.CrowdMatchClient.Get<CrowdMatchEntity>(matchId); // if (match == null) // return ResponseHelper.InvalidParameter<Match_FightinfoResponse>(); // if (managerId == match.HomeId) // { // return GetFightInfo(managerId, match.AwayId); // } // else if (managerId == match.AwayId) // { // return GetFightInfo(managerId, match.HomeId); // } // else // { // return ResponseHelper.InvalidParameter<Match_FightinfoResponse>(); // } //} /// <summary> /// 获取竞技场对阵 /// </summary> /// <param name="matchId"></param> /// <returns></returns> public Match_FightinfoResponse GetArenaFightInfo(Guid matchId) { var matchData = MemcachedFactory.ArenaMatchClient.Get <BaseMatchData>(matchId); if (matchData == null) { return(ResponseHelper.Create <Match_FightinfoResponse>(MessageCode.NbParameterError)); } DicNpcEntity homeNpc = null; DicNpcEntity awayNpc = null; ArenaTeammemberFrame homeFrame = null; ArenaTeammemberFrame awayFrame = null; if (matchData.Home.IsNpc) { homeNpc = CacheFactory.NpcdicCache.GetNpc(matchData.Home.ManagerId); } else { homeFrame = new ArenaTeammemberFrame(matchData.Home.ManagerId, (EnumArenaType)matchData.Home.ArenaType, matchData.Home.ZoneName); } if (matchData.Away.IsNpc) { awayNpc = CacheFactory.NpcdicCache.GetNpc(matchData.Away.ManagerId); } else { awayFrame = new ArenaTeammemberFrame(matchData.Away.ManagerId, (EnumArenaType)matchData.Away.ArenaType, matchData.Away.ZoneName); } DTOBuffMemberView homeView, awayView; ArenaBuffDataCore.Instance().GetMembers(out homeView, out awayView, matchData.Home.ZoneName, matchData.Home.ManagerId, matchData.Home.IsNpc, matchData.Away.ZoneName, matchData.Away.ManagerId, homeFrame, awayFrame, matchData.Away.IsNpc, true, false); Match_FightManagerinfo home, away; if (matchData.Home.IsNpc) { home = MatchDataHelper.GetFightinfo(homeNpc, homeView); } else { home = MatchDataHelper.GetFightinfoArena(homeFrame, false, homeView, matchData.Home.ZoneName); } if (matchData.Away.IsNpc) { away = MatchDataHelper.GetFightinfo(awayNpc, awayView); } else { away = MatchDataHelper.GetFightinfoArena(awayFrame, false, awayView, matchData.Away.ZoneName); } if (home == null || away == null) { return(ResponseHelper.Create <Match_FightinfoResponse>(MessageCode.NbParameterError)); } var response = ResponseHelper.CreateSuccess <Match_FightinfoResponse>(); response.Data = new Match_Fightinfo(); response.Data.Home = home; response.Data.Away = away; return(response); }
public static MatchInput BuildTransferMatch(BaseMatchData matchData) { MatchInput match = new MatchInput(); match.MatchId = matchData.MatchId; match.MatchType = matchData.MatchType; match.TranTime = 120; if (matchData.IsGuide) { matchData.Home.BuffScale = 400; // match.ForceType = EnumForceWinType.HomeWin; } else if (matchData.NoDraw) { match.ForceType = EnumForceWinType.NoDraw; } bool isHomeNpc = matchData.Home.IsNpc; bool isAwayNpc = matchData.Away.IsNpc; string homeSiteId = matchData.Home.ZoneName; string awaySiteId = matchData.Away.ZoneName; if (isHomeNpc || isAwayNpc) { if (matchData.MatchType == (int)EnumMatchType.Arena) { ArenaTeammemberFrame homeFrame = null; ArenaTeammemberFrame awayFrame = null; if (!isHomeNpc) { homeFrame = new ArenaTeammemberFrame(matchData.Home.ManagerId, (EnumArenaType)matchData.Home.ArenaType, homeSiteId); } if (!isAwayNpc) { awayFrame = new ArenaTeammemberFrame(matchData.Away.ManagerId, (EnumArenaType)matchData.Away.ArenaType, awaySiteId); } match.HomeManager = BuildTransferManagerArena(matchData.Home, homeFrame, matchData.IsGuide, null, homeSiteId); match.AwayManager = BuildTransferManagerArena(matchData.Away, awayFrame, false, null, awaySiteId); } else { match.HomeManager = BuildTransferManager(matchData.Home, matchData.IsGuide, null, homeSiteId); match.AwayManager = BuildTransferManager(matchData.Away, false, null, awaySiteId); } return(match); } DTOBuffMemberView homeView, awayView; if (matchData.MatchType == (int)EnumMatchType.Arena) { ArenaTeammemberFrame homeFrame = new ArenaTeammemberFrame(matchData.Home.ManagerId, (EnumArenaType)matchData.Home.ArenaType, homeSiteId); ArenaTeammemberFrame awayFrame = new ArenaTeammemberFrame(matchData.Away.ManagerId, (EnumArenaType)matchData.Away.ArenaType, awaySiteId); ArenaBuffDataCore.Instance().GetMembers(out homeView, out awayView, homeSiteId, matchData.Home.ManagerId, isHomeNpc, awaySiteId, matchData.Away.ManagerId, homeFrame, awayFrame, isAwayNpc, true, false); match.HomeManager = BuildTransferManagerArena(matchData.Home, homeFrame, matchData.IsGuide, homeView, homeSiteId); match.AwayManager = BuildTransferManagerArena(matchData.Away, awayFrame, false, awayView, awaySiteId); } else { BuffDataCore.Instance().GetMembers(out homeView, out awayView, homeSiteId, matchData.Home.ManagerId, isHomeNpc, awaySiteId, matchData.Away.ManagerId, isAwayNpc, true, false); match.HomeManager = BuildTransferManager(matchData.Home, matchData.IsGuide, homeView, homeSiteId); match.AwayManager = BuildTransferManager(matchData.Away, false, awayView, awaySiteId); } return(match); }