private void ApplyQuestCampaignParams(string[] campaignIds) { this.AcquiredUnitExp = new int[this.mUnits.Count]; if (campaignIds != null) { QuestCampaignData[] questCampaigns = MonoSingleton <GameManager> .GetInstanceDirect().FindQuestCampaigns(campaignIds); List <UnitData> mUnits = this.mUnits; float[] numArray = new float[mUnits.Count]; float num1 = 1f; for (int index = 0; index < numArray.Length; ++index) { numArray[index] = 1f; } foreach (QuestCampaignData questCampaignData in questCampaigns) { QuestCampaignData data = questCampaignData; if (data.type == QuestCampaignValueTypes.ExpUnit) { if (string.IsNullOrEmpty(data.unit)) { num1 = data.GetRate(); } else { int index = mUnits.FindIndex((Predicate <UnitData>)(value => value.UnitParam.iname == data.unit)); if (index >= 0) { numArray[index] = data.GetRate(); } } } else if (data.type == QuestCampaignValueTypes.ExpPlayer) { this.mResultData.Record.playerexp = (OInt)Mathf.RoundToInt((float)(int)this.mResultData.Record.playerexp * data.GetRate()); } else if (data.type == QuestCampaignValueTypes.Ap && UnityEngine.Object.op_Inequality((UnityEngine.Object) this.TextConsumeAp, (UnityEngine.Object)null)) { ((Graphic)this.TextConsumeAp).set_color(this.TextConsumeApColor); } } int unitexp = (int)this.mResultData.Record.unitexp; for (int index = 0; index < numArray.Length; ++index) { float num2 = 1f; if ((double)num1 != 1.0 && (double)numArray[index] != 1.0) { num2 = num1 + numArray[index]; } else if ((double)num1 != 1.0) { num2 = num1; } else if ((double)numArray[index] != 1.0) { num2 = numArray[index]; } this.AcquiredUnitExp[index] = Mathf.RoundToInt((float)unitexp * num2); } } else { for (int index = 0; index < this.AcquiredUnitExp.Length; ++index) { this.AcquiredUnitExp[index] = (int)this.mResultData.Record.unitexp; } } }
private void ApplyQuestCampaignParams(string[] campaignIds) { this.AcquiredUnitExp = new int[this.mRaidResult.members.Count]; if (campaignIds != null) { QuestCampaignData[] questCampaigns = MonoSingleton <GameManager> .GetInstanceDirect().FindQuestCampaigns(campaignIds); List <UnitData> members = this.mRaidResult.members; float[] numArray = new float[members.Count]; float num1 = 1f; for (int index = 0; index < numArray.Length; ++index) { numArray[index] = 1f; } foreach (QuestCampaignData questCampaignData in questCampaigns) { QuestCampaignData data = questCampaignData; if (data.type == QuestCampaignValueTypes.ExpUnit) { if (string.IsNullOrEmpty(data.unit)) { num1 = data.GetRate(); } else { int index = members.FindIndex((Predicate <UnitData>)(value => value.UnitParam.iname == data.unit)); if (index >= 0) { numArray[index] = data.GetRate(); } } } else if (data.type == QuestCampaignValueTypes.ExpPlayer) { this.mRaidResult.pexp = Mathf.RoundToInt((float)this.mRaidResult.pexp * data.GetRate()); } } int uexp = this.mRaidResult.uexp; for (int index = 0; index < numArray.Length; ++index) { float num2 = 1f; if ((double)num1 != 1.0 && (double)numArray[index] != 1.0) { num2 = num1 + numArray[index]; } else if ((double)num1 != 1.0) { num2 = num1; } else if ((double)numArray[index] != 1.0) { num2 = numArray[index]; } this.AcquiredUnitExp[index] = Mathf.RoundToInt((float)uexp * num2); } } else { for (int index = 0; index < this.AcquiredUnitExp.Length; ++index) { this.AcquiredUnitExp[index] = this.mRaidResult.uexp; } } }