示例#1
0
    public static int GetAllGemLv()
    {
        int        num  = 0;
        List <int> list = new List <int>();

        for (int i = 0; i < 10; i++)
        {
            for (int j = 0; j < 4; j++)
            {
                if (GemManager.Instance.equipSlots.GetLength(0) >= i)
                {
                    if (GemManager.Instance.equipSlots.GetLength(1) >= j)
                    {
                        GemEmbedInfo gemEmbedInfo = GemManager.Instance.equipSlots[i, j];
                        if (gemEmbedInfo != null && gemEmbedInfo.typeId > 0)
                        {
                            if (DataReader <BaoShiShengJi> .Contains(gemEmbedInfo.typeId))
                            {
                                BaoShiShengJi baoShiShengJi = DataReader <BaoShiShengJi> .Get(gemEmbedInfo.typeId);

                                num += baoShiShengJi.lv;
                            }
                        }
                    }
                }
            }
        }
        return(num);
    }
示例#2
0
    private void SetGemButton(int typeId)
    {
        Transform transform  = base.FindTransform("btnComposeOne");
        Transform transform2 = base.FindTransform("btnComposeAll");

        transform.Find("texBest").get_gameObject().SetActive(true);
        transform.Find("texBest").GetComponent <Text>().set_text(GemGlobal.GetComposeGemTip(typeId));
        if (GemGlobal.IsCanCompose(typeId))
        {
            SpriteRenderer iconSprite = ResourceManager.GetIconSprite("button_yellow_1");
            transform.GetComponent <ButtonCustom>().set_enabled(true);
            ResourceManager.SetSprite(transform.GetComponent <Image>(), iconSprite);
            transform2.GetComponent <ButtonCustom>().set_enabled(true);
            ResourceManager.SetSprite(transform2.GetComponent <Image>(), iconSprite);
        }
        else
        {
            SpriteRenderer iconSprite2 = ResourceManager.GetIconSprite("button_gray_1");
            transform.GetComponent <ButtonCustom>().set_enabled(false);
            ResourceManager.SetSprite(transform.GetComponent <Image>(), iconSprite2);
            transform2.GetComponent <ButtonCustom>().set_enabled(false);
            ResourceManager.SetSprite(transform2.GetComponent <Image>(), iconSprite2);
        }
        Transform     transform3    = base.FindTransform("btnWear");
        GemEmbedInfo  gemInfo       = GemGlobal.GetGemInfo((EquipLibType.ELT) this.currEquip, this.currSlot);
        BaoShiShengJi baoShiShengJi = DataReader <BaoShiShengJi> .Get(this.currTypeId);
    }
示例#3
0
    public static int GetAttrId(int itemId)
    {
        BaoShiShengJi bSSJ = GemGlobal.GetBSSJ(itemId);

        if (bSSJ == null)
        {
            Debug.Log("<color=red>Error:</color>获取宝石属性失败,没找到对应配置:" + itemId);
            return(-1);
        }
        return(bSSJ.propertyType);
    }
示例#4
0
    public static bool IsCanWearGem(int equipNum, int slotNum, int currTypeId = 0)
    {
        List <Goods> runeGoods = BackpackManager.Instance.RuneGoods;

        if (runeGoods.get_Count() <= 0)
        {
            return(false);
        }
        for (int i = 0; i < runeGoods.get_Count(); i++)
        {
            int           itemId     = runeGoods.get_Item(i).GetItemId();
            BaoShiShengJi gemItemCfg = DataReader <BaoShiShengJi> .Get(itemId);

            if (gemItemCfg != null)
            {
                if (GemManager.Instance.equipSlots.GetLength(0) >= equipNum)
                {
                    if (GemManager.Instance.equipSlots.GetLength(1) > slotNum)
                    {
                        GemEmbedInfo gemEmbedInfo = GemManager.Instance.equipSlots[equipNum - 1, slotNum];
                        if (gemEmbedInfo != null)
                        {
                            BaoShiKongPeiZhi baoShiKongPeiZhi = DataReader <BaoShiKongPeiZhi> .DataList.Find((BaoShiKongPeiZhi a) => a.position == equipNum && a.slotOpen == slotNum + 1);

                            if (baoShiKongPeiZhi != null)
                            {
                                if (baoShiKongPeiZhi.gemType.Find((int e) => e == gemItemCfg.type) > 0)
                                {
                                    if (gemEmbedInfo.typeId <= 0)
                                    {
                                        return(true);
                                    }
                                    BaoShiShengJi baoShiShengJi = DataReader <BaoShiShengJi> .Get(gemEmbedInfo.typeId);

                                    if (baoShiShengJi != null)
                                    {
                                        if (baoShiShengJi.type == gemItemCfg.type && baoShiShengJi.id < gemItemCfg.id)
                                        {
                                            return(true);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        return(false);
    }
示例#5
0
    public static bool IsActiveOneKeyCompose(EquipLibType.ELT equipNum, int slotNum, int typeId)
    {
        Debug.Log("IsActiveOneKeyCompose typeId=" + typeId);
        int           num           = 1;
        BaoShiShengJi baoShiShengJi = DataReader <BaoShiShengJi> .Get(typeId);

        int num2 = GemGlobal.GetGemId(baoShiShengJi.type, 1);

        while (num2 != typeId && num2 != 0)
        {
            num2 = GemGlobal.GetAfterId(num2);
            num++;
        }
        return(num >= 4);
    }
示例#6
0
    public static int GetGemId(int type, int lv)
    {
        List <BaoShiShengJi> dataList = DataReader <BaoShiShengJi> .DataList;

        using (List <BaoShiShengJi> .Enumerator enumerator = dataList.GetEnumerator())
        {
            while (enumerator.MoveNext())
            {
                BaoShiShengJi current = enumerator.get_Current();
                if (current.type == type && current.lv == lv)
                {
                    return(current.id);
                }
            }
        }
        return(0);
    }
示例#7
0
    public static bool CheckCanShowTip(int pos)
    {
        List <Goods> runeGoods = BackpackManager.Instance.RuneGoods;

        if (runeGoods == null)
        {
            return(false);
        }
        if (runeGoods.get_Count() <= 0)
        {
            return(false);
        }
        for (int i = 0; i < runeGoods.get_Count(); i++)
        {
            int           itemId     = runeGoods.get_Item(i).GetItemId();
            BaoShiShengJi gemItemCfg = DataReader <BaoShiShengJi> .Get(itemId);

            if (gemItemCfg != null)
            {
                int j;
                for (j = 0; j < 4; j++)
                {
                    GemEmbedInfo gemEmbedInfo = GemManager.Instance.equipSlots[pos - 1, j];
                    if (gemEmbedInfo != null)
                    {
                        BaoShiKongPeiZhi baoShiKongPeiZhi = DataReader <BaoShiKongPeiZhi> .DataList.Find((BaoShiKongPeiZhi a) => a.position == pos && a.slotOpen == j + 1);

                        if (baoShiKongPeiZhi != null)
                        {
                            if (baoShiKongPeiZhi.gemType.Find((int e) => e == gemItemCfg.type) > 0)
                            {
                                if (gemEmbedInfo.typeId <= 0)
                                {
                                    return(true);
                                }
                            }
                        }
                    }
                }
            }
        }
        return(false);
    }
示例#8
0
    private static bool CheckGemSlotHasSameType(int pos, int type)
    {
        for (int i = 0; i < 4; i++)
        {
            GemEmbedInfo gemEmbedInfo = GemManager.Instance.equipSlots[pos - 1, i];
            if (gemEmbedInfo != null)
            {
                BaoShiShengJi baoShiShengJi = DataReader <BaoShiShengJi> .Get(gemEmbedInfo.typeId);

                if (baoShiShengJi != null)
                {
                    if (baoShiShengJi.type == type)
                    {
                        return(true);
                    }
                }
            }
        }
        return(false);
    }
示例#9
0
    public static List <int> GetOneLevelGemIds(EquipLibType.ELT equipNum, int slotNum)
    {
        List <int> list           = new List <int>();
        List <int> list2          = new List <int>();
        List <int> oneLevelGemIds = GemGlobal.GetOneLevelGemIds();

        using (List <int> .Enumerator enumerator = oneLevelGemIds.GetEnumerator())
        {
            while (enumerator.MoveNext())
            {
                int           current           = enumerator.get_Current();
                BaoShiShengJi BaoShiShengJiInfo = DataReader <BaoShiShengJi> .Get(current);

                BaoShiKongPeiZhi baoShiKongPeiZhi = DataReader <BaoShiKongPeiZhi> .DataList.Find((BaoShiKongPeiZhi a) => a.position == (int)equipNum && a.slotOpen == slotNum);

                if (baoShiKongPeiZhi != null && baoShiKongPeiZhi.gemType.Find((int e) => e == BaoShiShengJiInfo.type) > 0)
                {
                    list.Add(BaoShiShengJiInfo.id);
                }
            }
        }
        return(list);
    }