Exemplo n.º 1
0
 public void initDrop(GDEItemData drop)
 {
     itemId       = drop.id;
     itemHashcode = 0;
     if (fightForceText)
     {
         fightForceText.gameObject.SetActive(false);
     }
     if (upText)
     {
         upText.gameObject.SetActive(false);
     }
     SDConstants.ItemType it = SDDataManager.Instance.getItemTypeById(itemId);
     if (it == SDConstants.ItemType.Consumable)
     {
         if (downText)
         {
             downText.text = "" + drop.num;
         }
         consumableItem item = SDDataManager.Instance.getConsumableById(itemId);
         itemImg.sprite   = item.IconFromAtlas;
         itemBgImg.sprite = SDDataManager.Instance.baseBgSpriteByRarity(1);
         frameImg.sprite  = SDDataManager.Instance.baseFrameSpriteByRarity(1);
         if (starVision)
         {
             starVision.StarNum = item.LEVEL;
         }
     }
 }
Exemplo n.º 2
0
    public void initStock(GDEItemData data
                          , SDConstants.MaterialType MType = SDConstants.MaterialType.end)

    {
        stockType    = SDConstants.StockType.material;
        materialType = MType;
        itemId       = data.id;
        itemNum      = data.num;
        hashcode     = 0;
        consumableItem item = SDDataManager.Instance.getConsumableById(itemId);

        if (starVision)
        {
            starVision.gameObject.SetActive(false);
        }
        if (NumText)
        {
            NumText.text = UsedNum + " / " + itemNum;
        }

        itemImg.sprite  = item.IconFromAtlas;
        bgImg.sprite    = SDDataManager.Instance.baseBgSpriteByRarity(item.LEVEL);
        frameImg.sprite = SDDataManager.Instance.baseFrameSpriteByRarity(item.LEVEL);

        //
        isLocked = false;
    }
Exemplo n.º 3
0
    public void initConsumable(GDEItemData M, bool showTaken = false)
    {
        itemId       = M.id;
        type         = SDConstants.ItemType.Consumable;
        itemHashcode = 0;
        consumableItem P = SDDataManager.Instance.getConsumableById(itemId);

        fightForceText?.gameObject.SetActive(false);
        itemUpLv = 0;
        upText?.gameObject.SetActive(true);
        upText.text = P.NAME;
        itemNum     = M.num;
        downText.gameObject.SetActive(true);
        downText.text = "" + M.num;
        slider?.gameObject.SetActive(false);

        int rarity = P.LEVEL;

        if (starVision != null)
        {
            starVision.StarNum = rarity;
        }
        itemImg.sprite   = P.IconFromAtlas;
        itemBgImg.sprite = SDDataManager.Instance.baseBgSpriteByRarity(1);
        frameImg.sprite  = SDDataManager.Instance.baseFrameSpriteByRarity(1);

        if (showTaken)
        {
            isSelected = SDDataManager.Instance.checkIfPropIsTaken(itemId);
        }
    }
Exemplo n.º 4
0
    public bool Use__equip_reap(string equipReapItem_id, out string equipId)
    {
        equipId = string.Empty;
        if (SDDataManager.Instance.getConsumableNum(equipReapItem_id) <= 0)
        {
            return(false);
        }
        bool flag = SDDataManager.Instance.checkIfHaveOpKey(SDConstants.MaterialType.equip_reap
                                                            , out string keyId);

        if (!flag)
        {
            return(false);
        }
        consumableItem item = SDDataManager.Instance.getConsumableById(equipReapItem_id);

        if (!item)
        {
            return(false);
        }
        string str = item.SpecialStr;

        string[]      strings = str.Split('_');
        EquipPosition pos     = ROHelp.EQUIP_POS(strings[0]);
        int           rank    = GetArmorRank(strings[1]);

        equipId = ReapNormalEquip(pos, rank);
        SDDataManager.Instance.consumeConsumable(keyId, out int r);
        return(true);
    }
Exemplo n.º 5
0
    void refreshPanel_lvup()
    {
        for (int I = 0; I < AllLvupArray.Length; I++)
        {
            if (I == lvupTypeIndex)
            {
                AllLvupArray[I].refreshThisItemDetail();
                AllLvupArray[I].Btn.transform.localScale = Vector3.zero;
            }
            else
            {
                AllLvupArray[I].Btn.transform.localScale = Vector3.one;
            }
        }
        consumableItem item = AllLvupArray[lvupTypeIndex].Item;
        int            num  = AllLvupArray[lvupTypeIndex].Number;

        if (num >= SDConstants.MinExpPerLevel)
        {
            AllBtns[1].interactable = true;
        }
        else
        {
            AllBtns[1].interactable = false;
        }
    }
Exemplo n.º 6
0
    public void btnToLvUp()
    {
        if (!isClicking)
        {
            isClicking = true;
            //
            consumableItem   item  = AllLvupArray[lvupTypeIndex].Item;
            int              ss    = SDDataManager.Instance.getInteger(item.SpecialStr);
            GDEEquipmentData equip = SDDataManager.Instance.getEquipmentByHashcode
                                         (equipDetail.equipHashcode);
            if (equip == null)
            {
                StartCoroutine(IEClickEnd());
                return;
            }

            bool flag = SDDataManager.Instance.consumeConsumable
                            (item.ID, out int residue, SDConstants.MinExpPerLevel);
            if (!flag)
            {
                StartCoroutine(IEClickEnd()); return;
            }

            int   currentLv = equip.lv;
            float rate      = 1;
            float change    = ss * 1f / 100;
            if (currentLv < SDConstants.equipMaxPreferLv)
            {
                for (int i = 0; i < currentLv; i++)
                {
                    rate *= change;
                }
            }
            else
            {
                rate    = 0.5f;
                change *= 0.5f;
                for (int i = 0; i < currentLv; i++)
                {
                    rate *= change;
                }
            }
            float r = UnityEngine.Random.Range(0, 1);
            if (r < rate)
            {
                Debug.Log("装备升级成功");
                SDDataManager.Instance.LvupEquipByHashcode(equipDetail.equipHashcode);
            }
            else
            {
                Debug.Log("装备升级失败");
            }
            refreshPanel_lvup();
            int hc = equipDetail.equipHashcode;
            equipDetail.initEquipDetailVision(hc);
            StartCoroutine(IEClickEnd());
        }
    }
Exemplo n.º 7
0
    public void initPurchase(GDEItemData Purchase, bool useDamond = false)
    {
        itemId       = Purchase.id;
        itemNum      = Purchase.num;
        extraTrigger = useDamond;
        SDConstants.ItemType item_type = SDDataManager.Instance.getItemTypeById(itemId);
        type = item_type;
        int bpg = 0;

        if (type == SDConstants.ItemType.Consumable)
        {
            consumableItem data = SDDataManager.Instance.getConsumableById(itemId);
            if (upText)
            {
                upText.text = SDGameManager.T(data.name);
            }
            //
            itemImg.sprite   = data.IconFromAtlas;
            itemBgImg.sprite = SDDataManager.Instance.baseBgSpriteByRarity(data.LEVEL);
            frameImg.sprite  = SDDataManager.Instance.baseFrameSpriteByRarity(data.LEVEL);
            //
            string downT = "";
            if (!useDamond)
            {
                bpg   = data.buyPrice_coin * Purchase.num;
                downT = SDGameManager.T("金币") + " - " + bpg;
            }
            else
            {
                bpg   = data.buyPrice_diamond * Purchase.num;
                downT = SDGameManager.T("钻石") + " - " + bpg;
            }
            if (downText)
            {
                downText.text = downT;
            }
        }


        if (SDDataManager.Instance.PlayerData.damond < bpg)
        {
            downText.transform.parent.GetComponent <Button>().interactable = false;
        }
        else
        {
            downText.transform.parent.GetComponent <Button>().interactable = true;
        }
    }
Exemplo n.º 8
0
    public void refreshSelf()
    {
        UsedNumText.text = "" + CurrentNum;
        if (CurrentNum <= 0)
        {
            btn_reduce.interactable = false;
        }
        else
        {
            btn_reduce.interactable = true;
        }
        //
        GDEItemData data = SDDataManager.Instance.getConsumeableDataById(itemId);

        if (data == null)
        {
            MainNum = 0;
        }
        else
        {
            MainNum = data.num;
        }
        //
        if (CurrentNum >= MainNum)
        {
            btn_add.interactable = false;
        }
        else
        {
            btn_add.interactable = true;
        }

        //
        consumableItem item = SDDataManager.Instance.getConsumableById(itemId);

        //
        icon.sprite      = item.IconFromAtlas;
        bgIcon.sprite    = SDDataManager.Instance.baseBgSpriteByRarity(item.LEVEL);
        frameIcon.sprite = SDDataManager.Instance.baseFrameSpriteByRarity(item.LEVEL);
        if (starVision)
        {
            starVision.StarNum = item.LEVEL;
        }
        upText?.gameObject.SetActive(false);
        downText.text = "X" + MainNum;
    }
Exemplo n.º 9
0
    public void initDetailPanel(string id)
    {
        GDEItemData d = SDDataManager.Instance.getConsumeableDataById(id);

        if (d == null)
        {
            return;
        }
        this.id = id; hashcode = 0;
        consumableItem item = SDDataManager.Instance.getConsumableById(id);

        if (!item)
        {
            return;
        }
        if (itemNameText)
        {
            itemNameText.text = item.NAME;
        }
        //if(itemExtraText) itemExtraText.text =
        if (itemDescText)
        {
            itemDescText.text = item.DESC;
        }
        if (btnToResolve)
        {
            btnToResolve.gameObject.SetActive(!item.isProp);
        }
        starVision.StarNum = item.LEVEL;
        //minNumText.text = "" + 1;
        //maxNumText.text = "" + d.num;
        CurrentSelectedScope.Min = 1;
        CurrentSelectedScope.Max = d.num;
        currentNumText.text      = CurrentSelectedScope.ToString("/");
        //
        itemImg.sprite  = item.IconFromAtlas;
        bgImg.sprite    = SDDataManager.Instance.baseBgSpriteByRarity(item.LEVEL);
        frameImg.sprite = SDDataManager.Instance.baseFrameSpriteByRarity(item.LEVEL);
        //
        RefreshSliderCondition();
    }
Exemplo n.º 10
0
    public void item_use(OneBagSlot slot)
    {
        currentSlotIndex = slot.index;
        GDEItemData P = SDDataManager.Instance.PlayerData.propsTeam[currentSlotIndex];

        if (P != null && !string.IsNullOrEmpty(P.id))
        {
            consumableItem item = SDDataManager.Instance.getConsumableById(P.id);
            if (!item.isProp)
            {
                return;
            }
            CurrentPropItem = item;
            BM._PropTarget  = item.AIM;
            BM.refreshPropEnableTarget();
            BM._PropRange = item.AOE;
            SDGameManager.Instance.isUsingProp = true;
            BM.PropSpecialStr = item.SpecialStr;
            BM.PF.checkSpecialStr(item.SpecialStr, P.id);
        }
    }
Exemplo n.º 11
0
    public void MakeConsumableResolve()
    {
        consumableItem A = SDDataManager.Instance.getConsumableItemById(id);

        //判断材料功用
        if (A.MaterialType == SDConstants.MaterialType.equip_reap)
        {
            if (MaterialResolve.Use__equip_reap(A.ID, out string result))
            {
                string get = "获得 新装备id" + result[0];
                Debug.Log(get);
                SDDataManager.Instance.addEquip(result);
            }
        }
        else if (A.MaterialType == SDConstants.MaterialType.money)
        {
        }

        DP.RefreshPanelPage();
        RefreshSliderCondition();
    }
Exemplo n.º 12
0
    public void showCurrentItemDetail(string id, int num)
    {
        CDP.id = id;
        consumableItem item = SDDataManager.Instance.getConsumableById(id);

        currentItemType = item.ItemType;
        if (currentItemType == SDConstants.ItemType.Consumable)
        {
            ResolveBtn.gameObject.SetActive(!item.isProp);
        }
        CDP.initDetailPanel(id);

        //
        if (item.MaterialType == SDConstants.MaterialType.equip_reap)
        {
            CDP.SelectedNumSlider.gameObject.SetActive(true);
            ResolveBtn.gameObject.SetActive(true);
            //
            ResolveBtn.GetComponentInChildren <Text>().text
                = SDGameManager.T("解锁");
        }
        else if (item.MaterialType == SDConstants.MaterialType.treasure ||
                 item.MaterialType == SDConstants.MaterialType.key ||
                 item.MaterialType == SDConstants.MaterialType.goddess_piece ||
                 item.MaterialType == SDConstants.MaterialType.end)
        {
            CDP.SelectedNumSlider.gameObject.SetActive(false);
            ResolveBtn.gameObject.SetActive(false);
        }
        else
        {
            CDP.SelectedNumSlider.gameObject.SetActive(true);
            ResolveBtn.gameObject.SetActive(true);
            //
            ResolveBtn.GetComponentInChildren <Text>().text
                = SDGameManager.T("出售");
        }
    }
Exemplo n.º 13
0
    public void initSlot(BagController.useType use_type, GDEItemData prop)
    {
        currentUseType = use_type;
        if (currentUseType == BagController.useType.end)
        {
            Islocked = true;
        }
        else
        {
            Islocked = false;
            if (string.IsNullOrEmpty(prop.id))
            {
                IsEmpty = true;
            }
            else
            {
                IsEmpty = false;
                propId  = prop.id;
                int limit = SDDataManager.Instance.propTakenVolume(propId);
                num = prop.num;

                consumableItem D = SDDataManager.Instance.getConsumableById(propId);
                nameText.text = D.NAME;
                numText.text  = "" + num + (num >= limit?"(上限)":"");
                //
                propIcon.sprite      = D.IconFromAtlas;
                propBgIcon.sprite    = SDDataManager.Instance.baseBgSpriteByRarity(1);
                propFrameIcon.sprite = SDDataManager.Instance.baseFrameSpriteByRarity(1);
                //
                if (starVision)
                {
                    starVision.StarNum = D.LEVEL;
                }
            }
        }
    }
Exemplo n.º 14
0
    public void AddConsumableInSlot(string id)
    {
        if (isLocked)
        {
            return;
        }
        GDEItemData data = SDDataManager.Instance.getConsumeableDataById(id);

        if (data == null)
        {
            return;
        }
        if (data.num <= 0)
        {
            return;
        }
        consumableItem info = SDDataManager.Instance.getConsumableItemById(id);

        if (info == null)
        {
            return;
        }
        //
        isEmpty          = false;
        Icon.sprite      = info.IconFromAtlas;
        bgIcon.sprite    = SDDataManager.Instance.baseBgSpriteByRarity(info.LEVEL);
        frameIcon.sprite = SDDataManager.Instance.baseFrameSpriteByRarity(info.LEVEL);
        //
        starVision?.gameObject.SetActive(false);
        aboveText?.gameObject.SetActive(false);
        belowText.gameObject.SetActive(false);
        //
        ItemType  = SDConstants.ItemType.Consumable;
        _id       = id;
        _hashcode = 0;
    }
Exemplo n.º 15
0
    public void InitStocks_skill(string heroId)
    {
        ResetPage();
        materialType = SDConstants.MaterialType.skill;

        //可用的英雄
        List <GDEHeroData> allHs = SDDataManager.Instance.getHerosListOwned().FindAll
                                       (x =>
        {
            if (x.hashCode == heroImproveController.heroDetail.Hashcode)
            {
                return(false);
            }
            return(x.id == heroId);
        });

        allHs.Sort((x, y) =>
        {
            if (x.starNumUpgradeTimes != y.starNumUpgradeTimes)
            {
                return(x.starNumUpgradeTimes.CompareTo(y.starNumUpgradeTimes));
            }
            return(x.exp.CompareTo(y.exp));
        });
        for (int i = 0; i < allHs.Count; i++)
        {
            Transform s = Instantiate(SItem) as Transform;
            s.SetParent(scrollRect.content);
            s.localScale = Vector3.one;
            RTSingleStockItem _s = s.GetComponent <RTSingleStockItem>();
            _s.stockPage = this;
            _s.initStock(allHs[i], SDConstants.MaterialType.skill);
            items.Add(_s);
        }

        //可用的材料
        Job _job = SDDataManager.Instance.getHeroCareerById(heroId);
        List <GDEItemData> allIs = SDDataManager.Instance.getConsumablesOwned.FindAll
                                       (x =>
        {
            consumableItem item = SDDataManager.Instance.getConsumableItemById(x.id);
            if (item == null)
            {
                return(false);
            }
            Job J     = SDDataManager.Instance.consumableItemSkill_FixCareer(x.id);
            bool flag = J == _job || J == Job.End;
            return(item.MaterialType == SDConstants.MaterialType.skill && flag);
        });

        allIs.Sort((x, y) =>
        {
            consumableItem item_x = SDDataManager.Instance.getConsumableById(x.id);
            consumableItem item_y = SDDataManager.Instance.getConsumableById(y.id);
            return(item_x.LEVEL.CompareTo(item_y.LEVEL));
        });
        for (int i = 0; i < allIs.Count; i++)
        {
            Transform s = Instantiate(SItem) as Transform;
            s.SetParent(scrollRect.content);
            s.localScale = Vector3.one;
            RTSingleStockItem _s = s.GetComponent <RTSingleStockItem>();
            _s.stockPage = this;
            _s.initStock(allIs[i], SDConstants.MaterialType.skill);
            items.Add(_s);
        }
        //
        SR_ToStart();
    }
Exemplo n.º 16
0
    private static void CreateArmorConfig()
    {
        List <Dictionary <string, string> > xxListResult;


        #region BasicHeros
        xxListResult = ReadVSC("hero");
        HeroRace[]      heroRaces   = Resources.LoadAll <HeroRace>("");
        RoleCareer[]    careers     = Resources.LoadAll <RoleCareer>("");
        List <HeroInfo> AlreadyHave = Resources.LoadAll <HeroInfo>("").ToList();
        for (int i = 0; i < xxListResult.Count; i++)
        {
            Dictionary <string, string> Dic = xxListResult[i];

            if (AlreadyHave.Exists(x => x.ID == Dic["id"]))
            {
                continue;
            }
            //
            HeroInfo     mi  = ScriptableObject.CreateInstance <HeroInfo>();
            CharacterSex sex = (CharacterSex)(StringToInteger(Dic["gender"]));
            mi.initData(Dic["id"], Dic["name"], Dic["desc"], sex, "");
            int Race = StringToInteger(Dic["race"]);
            foreach (HeroRace race in heroRaces)
            {
                if (race.Index == Race)
                {
                    mi.Race = race; break;
                }
            }
            int career = StringToInteger(Dic["career"]);
            foreach (RoleCareer c in careers)
            {
                if (c.Index == career)
                {
                    mi.Career = c; break;
                }
            }
            mi.InitRAL(RALByDictionary(Dic));
            mi.WeaponRaceList = GetWeaponTypeList(Dic["weaponClass"]);
            mi.SpecialStr     = Dic["specialStr"];
            mi.AddSkillData(
                getSkillsByString(Dic["skill0"])
                , getSkillsByString(Dic["skill1"])
                , getSkillsByString(Dic["skillOmega"])
                );
            //
            AssetDatabase.CreateAsset(mi, "Assets/Resources/ScriptableObjects/heroes/"
                                      + career + "_"
                                      + mi.ID.Substring(mi.ID.Length - 3) + "_" + mi.Name + ".asset");
        }
        #endregion
        return;

        #region enemy
        xxListResult = CreateConfig.ReadVSC("enemy");
        EnemyRank[] eRanks = Resources.LoadAll <EnemyRank>("");
        for (int i = 0; i < xxListResult.Count; i++)
        {
            Dictionary <string, string> Dic = xxListResult[i];
            EnemyInfo    mi  = ScriptableObject.CreateInstance <EnemyInfo>();
            CharacterSex sex = (CharacterSex)(StringToInteger(Dic["gender"]));
            mi.initData(Dic["id"], Dic["name"], Dic["desc"], sex, "");
            mi.Race = EnemyRaces(Dic["race"]);

            int ranktype = StringToInteger(Dic["rank"]);
            foreach (EnemyRank rank in eRanks)
            {
                if (rank.Index == ranktype)
                {
                    mi.EnemyRank = rank; break;
                }
            }
            mi.RAL              = RALByDictionary(Dic);
            mi.weight           = StringToInteger(Dic["weight"]);
            mi.dropPercent      = StringToInteger(Dic["dropRate"]);
            mi.StartAppearLevel = StringToInteger(Dic["startLevel"]);
            mi.EndAppearLevel   = StringToInteger(Dic["endLevel"]);
            //
            AssetDatabase.CreateAsset(mi, "Assets/Resources/ScriptableObjects/enemies/"
                                      + mi.ID.Split('#')[1] + mi.Name + ".asset");
        }
        #endregion
        return;

        #region Equip
        xxListResult = CreateConfig.ReadVSC("equip");
        ArmorRank[]        armor_ranks  = Resources.LoadAll <ArmorRank>("");
        WeaponRace[]       waepon_races = Resources.LoadAll <WeaponRace>("");
        List <SpriteAtlas> allAtlas     = Resources.LoadAll <SpriteAtlas>("Sprites/atlas").ToList();
        for (int i = 0; i < xxListResult.Count; i++)
        {
            Dictionary <string, string> Dic = xxListResult[i];
            EquipItem ei = ScriptableObject.CreateInstance <EquipItem>();
            ei.initData(Dic["id"], Dic["name"], Dic["desc"], CreateConfig.StringToInteger(Dic["level"])
                        , false, true, true, true, false, Dic["specialStr"]);
            ei.ResistStr = Dic["resistStr"];
            //
            int rankType = CreateConfig.StringToInteger(Dic["type"]);
            foreach (ArmorRank rank in armor_ranks)
            {
                if (rank.Index == rankType)
                {
                    ei.ArmorRank = rank; break;
                }
            }
            if (!string.IsNullOrEmpty(Dic["suit"]))
            {
                ei.SuitBelong = true; ei.SuitId = Dic["suit"];
            }
            //
            ei.RAL           = RALBySpecialStr(RoleAttributeList.zero, Dic["specialStr"]);
            ei.RAL           = RALByResistStr(ei.RAL, Dic["resistStr"]);
            ei.PassiveEffect = Dic["passiveEffect"];
            //
            string        _class = Dic["class"];
            EquipPosition pos    = ROHelp.EQUIP_POS(_class);
            ei.EquipPos = pos;
            if (pos == EquipPosition.Hand)
            {
                string weaponClass = Dic["weaponClass"].ToLower();
                foreach (WeaponRace r in waepon_races)
                {
                    if (weaponClass == r.NAME.ToLower())
                    {
                        ei.WeaponRace = r; break;
                    }
                }
            }


            //
            AssetDatabase.CreateAsset(ei, "Assets/Resources/ScriptableObjects/items/Equips/"
                                      + (int)ei.EquipPos + "_"
                                      + ei.LEVEL + "_" + ei.NAME + ".asset");
        }
        #endregion
        return;

        xxListResult = ReadVSC("hero");
        //HeroRace[] heroRaces = Resources.LoadAll<HeroRace>("");
        //RoleCareer[] careers = Resources.LoadAll<RoleCareer>("");
        for (int i = 0; i < xxListResult.Count; i++)
        {
            Dictionary <string, string> Dic = xxListResult[i];
            HeroInfo     mi  = ScriptableObject.CreateInstance <HeroInfo>();
            CharacterSex sex = (CharacterSex)(StringToInteger(Dic["gender"]));
            mi.initData(Dic["id"], Dic["name"], Dic["desc"], sex, "");
            int Race = StringToInteger(Dic["race"]);
            foreach (HeroRace race in heroRaces)
            {
                if (race.Index == Race)
                {
                    mi.Race = race; break;
                }
            }
            int career = StringToInteger(Dic["career"]);
            foreach (RoleCareer c in careers)
            {
                if (c.Index == career)
                {
                    mi.Career = c; break;
                }
            }
            mi.InitRAL(RALByDictionary(Dic));
            mi.WeaponRaceList = GetWeaponTypeList(Dic["weaponClass"]);
            mi.SpecialStr     = Dic["specialStr"];
            mi.AddSkillData(
                getSkillsByString(Dic["skill0"])
                , getSkillsByString(Dic["skill1"])
                , getSkillsByString(Dic["skillOmega"])
                );
            //
            AssetDatabase.CreateAsset(mi, "Assets/Resources/ScriptableObjects/heroes/"
                                      + career + "_"
                                      + mi.ID.Substring(mi.ID.Length - 3) + "_" + mi.Name + ".asset");
        }

        return;



        return;

        #region Consumable
        xxListResult = CreateConfig.ReadVSC("material");
        for (int i = 0; i < xxListResult.Count; i++)
        {
            Dictionary <string, string> Dic = xxListResult[i];
            SDConstants.MaterialType    MT  = CreateConfig.getMTypeByString(Dic["materialType"]);
            consumableItem mi = ScriptableObject.CreateInstance <consumableItem>();
            mi.initData(Dic["id"], Dic["name"], Dic["desc"], CreateConfig.StringToInteger(Dic["level"])
                        , false, true, true, true, false, Dic["specialStr"], SDConstants.ItemType.Consumable);
            mi.MaterialType     = MT;
            mi.buyPrice_coin    = StringToInteger(Dic["buyPrice_coin"]);
            mi.buyPrice_diamond = StringToInteger(Dic["buyPrice_diamond"]);
            mi.minLv            = StringToInteger(Dic["minLv"]);
            mi.maxLv            = StringToInteger(Dic["maxLv"]);
            mi.exchangeType     = StringToInteger(Dic["exchangeType"]);
            mi.weight           = StringToInteger(Dic["weight"]);
            mi.ConsumableType   = (SDConstants.ConsumableType)StringToInteger(Dic["consumableType"]);
            if (Dic.ContainsKey("range"))
            {
                mi.AOE = ROHelp.AOE_TYPE(Dic["range"]);
            }
            if (Dic.ContainsKey("target"))
            {
                mi.AIM = Dic["target"].ToUpper();
            }
            //
            AssetDatabase.CreateAsset(mi, "Assets/Resources/ScriptableObjects/items/Consumables/"
                                      + mi.ID.Substring(mi.ID.Length - 3) + mi.NAME + ".asset");
        }
        #endregion
    }
Exemplo n.º 17
0
    public void InitStocks_Star(int oldLevel)
    {
        ResetPage();
        materialType = SDConstants.MaterialType.star;
        // 可用的英雄
        List <GDEHeroData> allHs = SDDataManager.Instance.getHerosListOwned().FindAll
                                       (x =>
        {
            if (x.hashCode == heroImproveController.heroDetail.Hashcode)
            {
                return(false);
            }
            HeroInfo info = SDDataManager.Instance.getHeroInfoById(x.id);
            if (info == null)
            {
                return(false);
            }
            int LEVEL = info.LEVEL + x.starNumUpgradeTimes;
            return(LEVEL == oldLevel);
        });

        allHs.Sort((x, y) =>
        {
            HeroInfo info_x = SDDataManager.Instance.getHeroInfoById(x.id);
            HeroInfo info_y = SDDataManager.Instance.getHeroInfoById(y.id);
            if (info_x.Rarity != info_y.Rarity)
            {
                return(info_x.Rarity.CompareTo(info_y.Rarity));
            }
            return(x.exp.CompareTo(y.exp));
        });
        for (int i = 0; i < allHs.Count; i++)
        {
            Transform s = Instantiate(SItem) as Transform;
            s.SetParent(scrollRect.content);
            s.localScale = Vector3.one;
            RTSingleStockItem _s = s.GetComponent <RTSingleStockItem>();
            _s.stockPage = this;
            _s.initStock(allHs[i], SDConstants.MaterialType.star);
            items.Add(_s);
        }

        // 可用的材料
        List <GDEItemData> allIs = SDDataManager.Instance.getConsumablesOwned.FindAll
                                       (x =>
        {
            consumableItem item = SDDataManager.Instance.getConsumableItemById(x.id);
            if (item == null)
            {
                return(false);
            }
            return(item.MaterialType == SDConstants.MaterialType.star);
        });

        allIs.Sort((x, y) =>
        {
            consumableItem item_x = SDDataManager.Instance.getConsumableById(x.id);
            consumableItem item_y = SDDataManager.Instance.getConsumableById(y.id);
            return(item_x.LEVEL.CompareTo(item_y.LEVEL));
        });
        for (int i = 0; i < allIs.Count; i++)
        {
            Transform s = Instantiate(SItem) as Transform;
            s.SetParent(scrollRect.content);
            s.localScale = Vector3.one;
            RTSingleStockItem _s = s.GetComponent <RTSingleStockItem>();
            _s.stockPage = this;
            _s.initStock(allIs[i], SDConstants.MaterialType.star);
            items.Add(_s);
        }
        //
        SR_ToStart();
    }
Exemplo n.º 18
0
    public void consumeToGetItems(string itemId, bool useDamond, int itemNum = 1)
    {
        SDConstants.ItemType type = SDDataManager.Instance.getItemTypeById(itemId);
        int allConsume            = 0;

        if (type == SDConstants.ItemType.Consumable)
        {
            consumableItem data = SDDataManager.Instance.getConsumableItemById(itemId);
            if (!useDamond)
            {
                allConsume = data.buyPrice_coin * itemNum;
            }
            else
            {
                allConsume = data.buyPrice_diamond * itemNum;
            }
        }
        else if (type == SDConstants.ItemType.Consumable)
        {
            consumableItem DATA = SDDataManager.Instance.getConsumableItemById(itemId);
            if (!useDamond)
            {
                allConsume = DATA.buyPrice_coin * itemNum;
            }
            else
            {
                allConsume = DATA.buyPrice_diamond * itemNum;
            }
        }
        else if (type == SDConstants.ItemType.Equip)
        {
        }

        if (allConsume <= 0)
        {
            return;
        }

        if (!useDamond)
        {
            if (ConsumeCoinToGetItems(allConsume, itemId, out int surplus, itemNum))
            {
                Debug.Log("消耗 金币 " + allConsume + " 获得 商品id " + itemId
                          + " X" + itemNum + "====== 剩余 金币 " + surplus);
            }
        }
        else
        {
            PopoutController.CreatePopoutAlert
            (
                "",
                SDGameManager.T("是否确认购买"),
                5,
                true,
                PopoutController.PopoutWIndowAlertType.ConfirmMessage,
                (PopoutController c, PopoutController.PopoutWindowAlertActionType d) =>
            {
                if (d == PopoutController.PopoutWindowAlertActionType.OnConfirm)
                {
                    bool a = ConsumeDamondToGetItems
                                 (allConsume, itemId, out int surplus, itemNum);
                    if (a)
                    {
                        Debug.Log("消耗 钻石 " + allConsume + " 获得 商品id " + itemId
                                  + " X" + itemNum + "====== 剩余 钻石 " + surplus);
                        c._dismissAfterTapBtn = true;
                    }
                }