/// <summary> /// 取当前用户所占位置的战斗过程,位置从0开始 /// </summary> /// <returns></returns> public TeamCombatResult GetCombatProcess(int teamId) { var combatResult = new TeamCombatResult(); if (_combatProcessList != null && _combatProcessList.ContainsKey(teamId)) { var processList = _combatProcessList[teamId]; combatResult.IsWin = processList.IsWin; int[] posList = new int[2]; int pos = TeamPos(teamId); if (ConfigPos.GetLength(0) > pos) { for (int i = 0; i < posList.Length; i++) { posList[i] = ConfigPos[pos, i] - 1; } } combatResult.ProcessList = processList.ProcessList.FindAll(m => m.UserId.Equals(_userId) || (!m.UserId.Equals(_userId) && (m.Position == posList[0] || m.Position == posList[1]))); //foreach (var process in combatResult.ProcessList) //{ // Trace.WriteLine(string.Format("多人副本>>{0}打{1}位置{2}结果{3}", process.ProcessContainer.DefenseList.Count, // process.PlotNpcID, process.Position, process.IsWin)); //} //Trace.WriteLine(string.Format("多人副本>>{0}", combatResult.IsWin)); if (_userList != null && _userList.ContainsKey(_userId)) _userList.Remove(_userId); } return combatResult; }
public override bool TakeAction() { var plotTeam = new PlotTeamCombat(ContextUser); teamCombatResult = plotTeam.GetCombatProcess(teamID); teamPlot = plotTeam.GetTeam(teamID); plotInfo = new ConfigCacheSet<PlotInfo>().FindKey(plotID); if (teamCombatResult.IsWin) { //日常任务-多人副本 TaskHelper.TriggerDailyTask(Uid, 4007); if (ContextUser.UserExtend != null && ContextUser.UserExtend.DailyInfo != null) { if (ContextUser.UserExtend.DailyInfo.RefreshDate.Date == DateTime.Now.Date) { ContextUser.UserExtend.DailyInfo.MoreNum = MathUtils.Addition(ContextUser.UserExtend.DailyInfo.MoreNum, 1); } else { ContextUser.UserExtend.DailyInfo.RefreshDate = DateTime.Now; ContextUser.UserExtend.DailyInfo.MoreNum = 1; } } else if (ContextUser.UserExtend != null) { DailyRefresh dailyRefresh = new DailyRefresh(); dailyRefresh.RefreshDate = DateTime.Now; dailyRefresh.MoreNum = 1; ContextUser.UserExtend.DailyInfo = dailyRefresh; } //ContextUser.Update(); } return true; }