private IEnumerator SendReplacementSkill(List <MigrationSkillData> migrationSkill, List <SkillItemInfo> detachSkill)
    {
        foreach (MigrationSkillData item in migrationSkill)
        {
            bool isSendFinish2   = false;
            MigrationSkillData i = item;
            MonoBehaviourSingleton <StatusManager> .I.SendSetSkill(i.toUniqueId, i.skill.uniqueID, i.toSlotNo, MonoBehaviourSingleton <StatusManager> .I.GetCurrentEquipSetNo(), delegate(bool isSucces)
            {
                ((_003CSendReplacementSkill_003Ec__Iterator10E) /*Error near IL_00ac: stateMachine*/)._003C_003Ef__this.MigrationSkillCallback(isSucces);
                ((_003CSendReplacementSkill_003Ec__Iterator10E) /*Error near IL_00ac: stateMachine*/)._003CisSendFinish_003E__0 = true;
            });

            if (!isSendFinish2)
            {
                yield return((object)null);
            }
        }
        foreach (SkillItemInfo item2 in detachSkill)
        {
            bool              isSendFinish2 = false;
            SkillItemInfo     d             = item2;
            EquipSetSkillData setInfo       = d.equipSetSkill.Find((EquipSetSkillData x) => x.equipSetNo == MonoBehaviourSingleton <StatusManager> .I.GetCurrentEquipSetNo());
            MonoBehaviourSingleton <StatusManager> .I.SendDetachSkill(setInfo.equipItemUniqId, setInfo.equipSlotNo, setInfo.equipSetNo, delegate(bool isSucces)
            {
                ((_003CSendReplacementSkill_003Ec__Iterator10E) /*Error near IL_01a9: stateMachine*/)._003C_003Ef__this.MigrationSkillCallback(isSucces);
                ((_003CSendReplacementSkill_003Ec__Iterator10E) /*Error near IL_01a9: stateMachine*/)._003CisSendFinish_003E__0 = true;
            });

            if (!isSendFinish2)
            {
                yield return((object)null);
            }
        }
    }
    protected virtual void OnQuery_StatusMigrationSkillConfirm_YES()
    {
        //IL_0175: Unknown result type (might be due to invalid IL or missing references)
        List <SkillItemInfo>      list  = new List <SkillItemInfo>();
        List <MigrationSkillData> list2 = new List <MigrationSkillData>();

        for (int i = 0; i < migrationOldItem.GetMaxSlot(); i++)
        {
            bool          flag      = false;
            SkillItemInfo skillItem = migrationOldItem.GetSkillItem(i, MonoBehaviourSingleton <StatusManager> .I.GetCurrentEquipSetNo());
            if (skillItem != null)
            {
                for (int j = 0; j < migrationSelectItem.GetMaxSlot(); j++)
                {
                    SkillItemTable.SkillSlotData skillSlotData = migrationSelectItem.tableData.GetSkillSlot(migrationSelectItem.exceed)[j];
                    if (skillSlotData != null && skillSlotData.slotType == skillItem.tableData.type)
                    {
                        int toSlot = j;
                        if (migrationSelectItem.IsExceedSkillSlot(j))
                        {
                            toSlot = migrationSelectItem.GetExceedSkillSlotNo(j);
                        }
                        if (list2.All((MigrationSkillData x) => x.toSlotNo != toSlot))
                        {
                            MigrationSkillData item = new MigrationSkillData(migrationSelectItem.uniqueID, toSlot, skillItem);
                            list2.Add(item);
                            flag = true;
                            break;
                        }
                    }
                }
                if (!flag)
                {
                    list.Add(skillItem);
                }
            }
        }
        migrationSendCount = list2.Count + list.Count;
        GameSection.SetEventData(new ChangeEquipData(selectEquipSetData.setNo, selectEquipSetData.index, migrationSelectItem));
        GameSection.StayEvent();
        this.StartCoroutine(SendReplacementSkill(list2, list));
    }