Exemplo n.º 1
0
    public static GameWebAPI.RespDataMA_GetSkillDetailM.SkillDetailM[] Convert(GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM[] skillDetailsMaster)
    {
        List <GameWebAPI.RespDataMA_GetSkillDetailM.SkillDetailM> list = new List <GameWebAPI.RespDataMA_GetSkillDetailM.SkillDetailM>();

        GameWebAPI.RespDataMA_GetSkillM.SkillM[] skillM = MasterDataMng.Instance().RespDataMA_SkillM.skillM;
        foreach (GameWebAPI.RespDataMA_GetSkillM.SkillM skillM2 in skillM)
        {
            List <GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM> list2 = new List <GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM>();
            List <GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM> list3 = new List <GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM>();
            foreach (GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM receiveSkillDetailM in skillDetailsMaster)
            {
                if (receiveSkillDetailM.skillId == skillM2.skillId)
                {
                    list2.Add(receiveSkillDetailM);
                }
                else
                {
                    list3.Add(receiveSkillDetailM);
                }
            }
            if (!list2.Any <GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM>())
            {
                UnityEngine.Debug.LogWarning("skillId " + skillM2.skillId + " " + skillM2.name);
            }
            while (list2.Any <GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM>())
            {
                List <GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM> list4 = new List <GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM>();
                List <GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM> list5 = new List <GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM>();
                foreach (GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM receiveSkillDetailM2 in list2)
                {
                    if (receiveSkillDetailM2.subId == list2[0].subId)
                    {
                        list4.Add(receiveSkillDetailM2);
                    }
                    else
                    {
                        list5.Add(receiveSkillDetailM2);
                    }
                }
                try
                {
                    GameWebAPI.RespDataMA_GetSkillDetailM.SkillDetailM item;
                    if (skillM2.type == "1")
                    {
                        item = LeaderSkillConverter.Convert(list4);
                    }
                    else
                    {
                        item = StandardSkillConverter.Convert(list4);
                    }
                    list.Add(item);
                    list2 = list5;
                }
                catch (Exception ex)
                {
                    UnityEngine.Debug.LogError(string.Concat(new string[]
                    {
                        "skillId ",
                        skillM2.skillId,
                        " ",
                        skillM2.name,
                        "\n",
                        ex.Message
                    }));
                    break;
                }
            }
            skillDetailsMaster = list3.ToArray();
        }
        return(list.ToArray());
    }
Exemplo n.º 2
0
    public static GameWebAPI.RespDataMA_GetSkillDetailM.SkillDetailM Convert(List <GameWebAPI.RespDataMA_GetSkillDetailM.ReceiveSkillDetailM> subSkillDetails)
    {
        GameWebAPI.RespDataMA_GetSkillDetailM.SkillDetailM result = null;
        LeaderSkillType leaderSkillType = (LeaderSkillType)subSkillDetails[0].effectType.ToInt32();

        switch (leaderSkillType)
        {
        case LeaderSkillType.HpFollowingDamageUp:
        case LeaderSkillType.HpFollowingAttackUp:
        case LeaderSkillType.HpFollowingDefenceUp:
        case LeaderSkillType.HpFollowingSpecialAttackUp:
        case LeaderSkillType.HpFollowingSpecialDefenceUp:
        case LeaderSkillType.HpFollowingSpeedUp:
        case LeaderSkillType.HpFollowingHitRateUp:
        case LeaderSkillType.HpFollowingSatisfactionRateUp:
            result = LeaderSkillConverter.ConvertToHpFollowing(subSkillDetails.ToArray());
            break;

        case LeaderSkillType.HpMaxDamageUp:
        case LeaderSkillType.HpMaxAttackUp:
        case LeaderSkillType.HpMaxDefenceUp:
        case LeaderSkillType.HpMaxSpecialAttackUp:
        case LeaderSkillType.HpMaxSpecialDefenceUp:
        case LeaderSkillType.HpMaxSpeedUp:
        case LeaderSkillType.HpMaxHitRateUp:
        case LeaderSkillType.HpMaxMachSatisfactionRateUp:
            result = LeaderSkillConverter.ConvertToHpMax(subSkillDetails.ToArray());
            break;

        case LeaderSkillType.SpeciesMachDamageUp:
        case LeaderSkillType.SpeciesMachHpUp:
        case LeaderSkillType.SpeciesMachAttackUp:
        case LeaderSkillType.SpeciesMachDefenceUp:
        case LeaderSkillType.SpeciesMachSpecialAttackUp:
        case LeaderSkillType.SpeciesMachSpecialDefenceUp:
        case LeaderSkillType.SpeciesMachSpeedUp:
        case LeaderSkillType.SpeciesMachHitRateUp:
        case LeaderSkillType.SpeciesMachSatisfactionRateUp:
            result = LeaderSkillConverter.ConvertToSpeciesMach(subSkillDetails.ToArray());
            break;

        case LeaderSkillType.DamageUp:
        case LeaderSkillType.HpUp:
        case LeaderSkillType.AttackUp:
        case LeaderSkillType.DefenceUp:
        case LeaderSkillType.SpecialAttackUp:
        case LeaderSkillType.SpecialDefenceUp:
        case LeaderSkillType.SpeedUp:
        case LeaderSkillType.HitRateUp:
        case LeaderSkillType.SatisfactionRateUp:
            result = LeaderSkillConverter.ConvertToUp(subSkillDetails.ToArray());
            break;

        case LeaderSkillType.ToleranceUp:
            result = LeaderSkillConverter.ConvertToToleranceUp(subSkillDetails.ToArray());
            break;

        default:
            UnityEngine.Debug.LogError("Not LeaderSkillType " + leaderSkillType);
            break;
        }
        return(result);
    }