Пример #1
0
    public EquipItemExceedData GetEquipItemExceedDataIncludeLimited(EquipItemTable.EquipItemData itemData)
    {
        if (itemData == null)
        {
            return(null);
        }
        EquipItemExceedData equipItemExceedData = GetEquipItemExceedData(itemData.rarity, itemData.getType, itemData.eventId);

        LimitedEquipItemExceedTable.LimitedEquipItemExceedData[] limitedEquipItemExceedData = Singleton <LimitedEquipItemExceedTable> .I.GetLimitedEquipItemExceedData(itemData);

        List <EquipItemExceedData.ExceedNeedItem> list = new List <EquipItemExceedData.ExceedNeedItem>();

        for (int i = 0; i < limitedEquipItemExceedData.Length; i++)
        {
            EquipItemExceedData.ExceedNeedItem exceedNeedItem = new EquipItemExceedData.ExceedNeedItem();
            exceedNeedItem.itemId = limitedEquipItemExceedData[i].exceed.itemId;
            exceedNeedItem.num    = new uint[4];
            if (exceedNeedItem.num.Length == limitedEquipItemExceedData[i].exceed.num.Length)
            {
                for (int j = 0; j < exceedNeedItem.num.Length; j++)
                {
                    exceedNeedItem.num[j] = limitedEquipItemExceedData[i].exceed.num[j];
                }
                list.Add(exceedNeedItem);
            }
        }
        EquipItemExceedData equipItemExceedData2 = equipItemExceedData.Clone();

        EquipItemExceedData.ExceedNeedItem[] second = list.ToArray();
        equipItemExceedData2.exceed = equipItemExceedData2.exceed.Concat(second).ToArray();
        return(equipItemExceedData2);
    }
Пример #2
0
    public EquipItemExceedData GetEquipItemExceedData(RARITY_TYPE rarity, GET_TYPE getType, int eventId = 0)
    {
        if (tableData == null)
        {
            return(null);
        }
        if (getType != GET_TYPE.EVENT)
        {
            eventId = 0;
        }
        UIntKeyTable <EquipItemExceedData> uIntKeyTable = tableData.Get((uint)rarity);

        if (uIntKeyTable == null)
        {
            Log.Error("EquipItemExceedTable is NULL :: rarity = {0}( {1} )", rarity, (uint)rarity);
            return(null);
        }
        EquipItemExceedData equipItemExceedData = uIntKeyTable.Find((EquipItemExceedData data) => data.getType == getType && data.eventId == eventId);

        if (equipItemExceedData == null)
        {
            if (getType == GET_TYPE.EVENT)
            {
                equipItemExceedData = uIntKeyTable.Find((EquipItemExceedData data) => data.getType == GET_TYPE.FREE && data.eventId == 0);
            }
            else
            {
                Log.Warning("EquipItemExceedTable is NULL :: getType = {0}, eventId = {1}", getType, eventId);
            }
        }
        return(equipItemExceedData);
    }
Пример #3
0
        public EquipItemExceedData Clone()
        {
            EquipItemExceedData equipItemExceedData = new EquipItemExceedData();

            equipItemExceedData.rarity         = rarity;
            equipItemExceedData.getType        = getType;
            equipItemExceedData.eventId        = eventId;
            equipItemExceedData.exchangeItemId = exchangeItemId;
            equipItemExceedData.exchangeMoney  = exchangeMoney;
            equipItemExceedData.exceed         = exceed;
            return(equipItemExceedData);
        }
Пример #4
0
    public bool IsFreeLapis(RARITY_TYPE rarity, uint lapis_item_id, int eventId = 0)
    {
        if (tableData == null)
        {
            return(true);
        }
        UIntKeyTable <EquipItemExceedData> uIntKeyTable = tableData.Get((uint)rarity);

        if (uIntKeyTable == null)
        {
            return(true);
        }
        EquipItemExceedData equipItemExceedData = uIntKeyTable.Find((EquipItemExceedData data) => data.exchangeItemId == lapis_item_id && data.eventId == eventId);

        if (equipItemExceedData == null)
        {
            return(true);
        }
        return(equipItemExceedData.getType != GET_TYPE.PAY);
    }
Пример #5
0
        public static bool cb(CSVReader csv_reader, EquipItemExceedData data, ref uint key1, ref uint key2)
        {
            data.rarity = (RARITY_TYPE)key1;
            csv_reader.Pop(ref data.getType);
            csv_reader.Pop(ref data.eventId);
            csv_reader.Pop(ref data.exchangeItemId);
            csv_reader.Pop(ref data.exchangeMoney);
            List <ExceedNeedItem> list = new List <ExceedNeedItem>();

            for (int i = 0; i < 5; i++)
            {
                uint value = 0u;
                csv_reader.Pop(ref value);
                if (value != 0)
                {
                    ExceedNeedItem item = new ExceedNeedItem();
                    item.itemId = value;
                    item.num    = new uint[4];
                    for (int j = 0; j < 4; j++)
                    {
                        csv_reader.Pop(ref item.num[j]);
                    }
                    ExceedNeedItem exceedNeedItem = list.Find((ExceedNeedItem _data) => _data.itemId == item.itemId);
                    if (exceedNeedItem == null)
                    {
                        list.Add(item);
                    }
                }
                else
                {
                    for (int k = 0; k < 4; k++)
                    {
                        uint value2 = 0u;
                        csv_reader.Pop(ref value2);
                    }
                }
            }
            data.exceed = list.ToArray();
            return(true);
        }