Exemple #1
0
        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));
        }
Exemple #2
0
 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;
     }
 }
Exemple #3
0
 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);
     }
 }
Exemple #4
0
        //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);
        }
Exemple #5
0
        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);
        }