Ejemplo n.º 1
0
        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;
                }
            }
        }
Ejemplo n.º 2
0
        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;
                }
            }
        }