Exemplo n.º 1
0
        /// <summary>
        /// 好友赛最高连胜
        /// </summary>
        /// <param name="managerId"></param>
        /// <param name="winType"></param>
        /// <returns></returns>
        public MessageCode UpdateFriendMatchComb(Guid managerId, EnumWinType winType, DbTransaction trans = null)
        {
            var achievementManager = AchievementManagerMgr.GetById(managerId);

            if (achievementManager == null)
            {
                return(MessageCode.NbParameterError);
            }
            bool isClear = false;

            if (winType == EnumWinType.Win)
            {
                achievementManager.FriendWinComb++;
            }
            else
            {
                achievementManager.FriendWinComb = 0;
                isClear = true;
            }

            UpdateAchievementTask(managerId, false, EnumTaskRequireFunc.FriendMatchWin, false, isClear, 1, true);
            UpdateAchievementTask(managerId, false, EnumTaskRequireFunc.FriendMatchCount, false, false, 1, true);
            UpdateAchievementTask(managerId, false, EnumTaskRequireFunc.PkOrFriendMatchCount, false, false, 1, true);
            if (achievementManager.FriendWinComb > achievementManager.MaxFriendWinComb)
            {
                achievementManager.MaxFriendWinComb = achievementManager.FriendWinComb;
            }
            //if (AchievementManagerMgr.Update(achievementManager, trans))
            //    return MessageCode.Success;
            //else
            return(MessageCode.FailUpdate);
        }
Exemplo n.º 2
0
        public PkMatchPrizeEntity GetPrize(EnumWinType winType)
        {
            var prize = _pKMatchPrizeDic[winType].Clone();

            prize.Coin = prize.Coin;
            prize.Exp  = prize.Exp;
            return(prize);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 更新天梯赛单场进球及赛季最高胜场
        /// </summary>
        /// <param name="managerId"></param>
        /// <param name="goals"></param>
        /// <returns></returns>
        public MessageCode UpdateLadderGoals(Guid managerId, int goals, EnumWinType winType, int score)
        {
            try
            {
                var achievementManager = AchievementManagerMgr.GetById(managerId);
                if (achievementManager == null)
                {
                    return(MessageCode.NbParameterError);
                }

                bool needUpdate = false;
                if (goals > achievementManager.MaxLadderGoals)
                {
                    achievementManager.MaxLadderGoals = goals;
                    needUpdate = true;
                }
                if (winType == EnumWinType.Win)
                {
                    var ladderManager = LadderCore.Instance.GetLadderManager(managerId);
                    if (ladderManager != null)
                    {
                        var season = ladderManager.Season;
                        if (season == null)
                        {
                            SystemlogMgr.Error("赛季=null", "赛季=null");
                        }
                        needUpdate = true;
                        if (achievementManager.LadderSeason == season.Idx)
                        {
                            achievementManager.LadderWin++;
                        }
                        else
                        {
                            achievementManager.LadderSeason = season.Idx;
                            achievementManager.LadderWin    = 1;
                        }
                        if (achievementManager.LadderWin > achievementManager.MaxLadderWin)
                        {
                            achievementManager.MaxLadderWin = achievementManager.LadderWin;
                        }
                    }
                }

                UpdateAchievementTask(managerId, false, EnumTaskRequireFunc.LadderMatchGoals, false, false, goals, false);
                UpdateAchievementTask(managerId, false, EnumTaskRequireFunc.LadderMatchCount, false, false, 1, true);
                if (winType == EnumWinType.Win)
                {
                    UpdateAchievementTask(managerId, false, EnumTaskRequireFunc.LadderWinCountSeason, false, false, 1, true);
                }
                UpdateAchievementTask(managerId, false, EnumTaskRequireFunc.LadderScore, false, false, score, false);
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("更新天梯赛单场进球及赛季最高胜场", ex);
            }
            return(MessageCode.Success);
        }
Exemplo n.º 4
0
        public static string BuildCrowdMatch(EnumWinType winType, string awayName, int homeScore, int awayScore)
        {
            switch (winType)
            {
            case EnumWinType.Win:
                return(string.Format("{3}@H,{0}|A,{1}|N,{2}", homeScore, awayScore, awayName, (int)EnumPopType.CrossCrowdMatchWin));

                break;

            case EnumWinType.Draw:
                return(string.Format("{3}@H,{0}|A,{1}|N,{2}", homeScore, awayScore, awayName, (int)EnumPopType.CrossCrowdMatchDraw));

                break;

            case EnumWinType.Lose:
                return(string.Format("{3}@H,{0}|A,{1}|N,{2}", homeScore, awayScore, awayName, (int)EnumPopType.CrossCrowdMatchLose));

                break;
            }
            return("");
        }
Exemplo n.º 5
0
        LadderMatchEntityView BuildMatchView(Guid matchId, string awayName, int prizeScore, string score, EnumWinType winType)
        {
            var matchView = new LadderMatchEntityView();

            matchView.AwayName   = awayName;
            matchView.MatchId    = matchId;
            matchView.PrizeScore = prizeScore;
            matchView.ScoreView  = score;
            matchView.WinType    = (int)winType;
            return(matchView);
        }
Exemplo n.º 6
0
 public ConfigCrowdprizeEntity GetMatchPrize(EnumWinType winType)
 {
     return(_matchPrizeDic[(int)winType]);
 }