/// <summary> /// 一组目标是否完成 /// </summary> /// <param name="copyTargetInfo"></param> /// <returns></returns> public bool IsCopyTargetCompleted(CopyTargetInfo copyTargetInfo) { for (int i = 0; i < copyTargetInfo.waveIdList.Count; i++) { if (false == m_listCompletedWaveId.Contains(copyTargetInfo.waveIdList[i])) { return(false); } } return(true); }
/// <summary> /// 进入副本时 初始化波数数据 /// </summary> void InitWaveIdListByCopyId() { m_listCopyTarget.Clear(); List <CopyTargetDataBase> copyTargetDbList = GameTableManager.Instance.GetTableList <CopyTargetDataBase>(); copyTargetDbList = copyTargetDbList.FindAll((data) => { return(data.copyId == this.m_uEnterCopyID); }); for (int i = 0; i < copyTargetDbList.Count; i++) { CopyTargetInfo info = m_listCopyTarget.Find((data) => { return(data.waveType == copyTargetDbList[i].waveType); }); //有同组的波数 if (info != null) { if (false == info.waveIdList.Contains(copyTargetDbList[i].waveId)) { info.waveIdList.Add(copyTargetDbList[i].waveId); } } //无同组的波数 else { CopyTargetInfo copyTargetInfo = new CopyTargetInfo(); copyTargetInfo.stepId = copyTargetDbList[i].stepId; copyTargetInfo.waveType = copyTargetDbList[i].waveType; copyTargetInfo.npcId = copyTargetDbList[i].npcId; copyTargetInfo.mapId = copyTargetDbList[i].mapId; List <uint> waveIdList = new List <uint>(); waveIdList.Add(copyTargetDbList[i].waveId); copyTargetInfo.waveIdList = waveIdList; m_listCopyTarget.Add(copyTargetInfo); } //当前副本总共的阶段数 if (false == m_listCopyStepId.Exists((d) => { return(d == copyTargetDbList[i].stepId); })) { m_listCopyStepId.Add(copyTargetDbList[i].stepId); } } }
public override void SetGridData(object data) { base.SetGridData(data); this.copyTarget = data as CopyTargetInfo; }
public string GetCopyTargetName(CopyTargetInfo copyTargetInfo) { uint copyId = DataManager.Manager <ComBatCopyDataManager>().EnterCopyID; string name = string.Empty; for (int j = 0; j < copyTargetInfo.waveIdList.Count; j++) { uint waveId = copyTargetInfo.waveIdList[j]; bool isCompleted = IsCopyTargetWaveCompleted(waveId); CopyTargetDataBase db = GameTableManager.Instance.GetTableItem <CopyTargetDataBase>(copyId, (int)waveId); if (db != null) { string tempName = string.Empty; if (isCompleted) { tempName = ColorManager.GetColorString(ColorType.Green, db.completeWaveName); } else { tempName = db.waveName; } if (copyTargetInfo.waveIdList.Count > 1 && j < copyTargetInfo.waveIdList.Count - 1) { tempName = string.Format("{0}\n", tempName); } name = name + tempName; //五行阵副本 if (IsWuXinZhenCopy()) { uint finishCount = GetWuXinZhenWaveFinishCount(db.waveListStr); name = string.Format(name, finishCount); } //特殊处理演武场 if (IsYanWuChangCopy(copyId)) { if (waveId == 37) { name = string.Format(db.waveName, this.LaskSkillWave); } if (waveId == 38) { string exp = ColorManager.GetColorString(ColorType.Yellow, this.m_copyRewardExp.ToString()); name = string.Format("{0}\n {1}", db.waveName, exp); } } //金银山副本 if (IsGoldCopy(copyId)) { if (waveId == 2) { name = string.Format(db.waveName, this.LaskSkillWave); } if (waveId == 3) { string gold = ColorManager.GetColorString(ColorType.Yellow, this.m_gainGoldInCopy.ToString()); name = string.Format("{0}\n {1}", db.waveName, gold); } } //世界聚宝 if (IsWorldJuBao(copyId)) { //排行 if (waveId == 1) { string rank = DataManager.Manager <JvBaoBossWorldManager>().MyBossDamRank.ToString(); name = string.Format(db.waveName, rank); } //鼓舞加成 if (waveId == 2) { string add = DataManager.Manager <JvBaoBossWorldManager>().CurInspirePileValue.ToString(); name = string.Format(db.waveName, add); } //累计伤害值 if (waveId == 3) { uint myBossDamage = DataManager.Manager <JvBaoBossWorldManager>().MyBossDam; string damage = ColorManager.GetColorString(ColorType.Yellow, myBossDamage.ToString()); name = string.Format("{0}\n {1}", db.waveName, damage); } } } } return(name); }