public static bool cb(CSVReader csv_reader, CreateEquipItemData data, ref uint key)
        {
            data.id = key;
            csv_reader.Pop(ref data.equipItemID);
            csv_reader.Pop(ref data.researchLv);
            csv_reader.Pop(ref data.pickupPriority);
            csv_reader.Pop(ref data.needKeyOrder);
            List <NeedMaterial> list = new List <NeedMaterial>();

            for (int i = 0; i < 10; i++)
            {
                bool value  = false;
                uint value2 = 0u;
                int  value3 = 0;
                csv_reader.Pop(ref value);
                csv_reader.Pop(ref value2);
                csv_reader.Pop(ref value3);
                if (value2 != 0 && value3 != 0)
                {
                    list.Add(new NeedMaterial(value, value2, value3));
                }
            }
            data.needMaterial = list.ToArray();
            csv_reader.Pop(ref data.needMoney);
            return(true);
        }
    public CreateEquipItemData GetCreateEquipItemByPart(uint materialId, EQUIPMENT_TYPE type)
    {
        CreateEquipItemData[] creatableEquipItem = Singleton <CreateEquipItemTable> .I.GetCreatableEquipItem(materialId);

        int i = 0;

        for (int num = creatableEquipItem.Length; i < num; i++)
        {
            CreateEquipItemData          createEquipItemData = creatableEquipItem[i];
            EquipItemTable.EquipItemData equipItemData       = Singleton <EquipItemTable> .I.GetEquipItemData(createEquipItemData.equipItemID);

            if (equipItemData.type == type)
            {
                return(createEquipItemData);
            }
        }
        return(null);
    }