Exemplo n.º 1
0
    public void InitStocks_equipExp()
    {
        ResetPage();
        materialType = SDConstants.MaterialType.equip_exp;

        /*
         * // 可用的材料
         * 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.equip_exp;
         *  });
         * 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.localScale = Vector3.one;
         *  RTSingleStockItem _s = s.GetComponent<RTSingleStockItem>();
         *  _s.stockPage = this;
         *  _s.initStock(allIs[i], SDConstants.MaterialType.equip_exp);
         * }
         */
    }
Exemplo n.º 2
0
    public void stockInit(ImproveKind improveKind)
    {
        stockPage.pageIndex = 0;
        SDConstants.MaterialType MType = SDConstants.MaterialType.goddess_exp;
        if (improveKind == ImproveKind.exp)
        {
            maxSelectedNum = 10;
        }
        else if (improveKind == ImproveKind.star)
        {
            MType          = SDConstants.MaterialType.goddess_exp;
            maxSelectedNum = 3;
        }

        stockPage.materialType = MType;

        //stockPage.maxSelectedNum = maxSelectedNum;
        //stockPage.ItemsInit(SDConstants.StockType.material,MType);
        //stockPage.showMaterialsForGoddessImprove(goddessDetail.Id);
        stockPage.SelectEmpty();
        RefreshImprovePanel();
        if (stockPage.items.Count == 0)
        {
            emptyPanel.gameObject.SetActive(true);
        }
        else
        {
            emptyPanel.gameObject.SetActive(false);
        }
    }
Exemplo n.º 3
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.º 4
0
    public void stockInit(ImproveKind improveKind)
    {
        stockPage.pageIndex = 0;
        SDConstants.MaterialType MType = SDConstants.MaterialType.equip_exp;
        if (improveKind == ImproveKind.exp)
        {
            MType          = SDConstants.MaterialType.equip_exp;
            maxSelectedNum = 10;
        }
        else if (improveKind == ImproveKind.fix)
        {
            MType          = SDConstants.MaterialType.equip_fix;
            maxSelectedNum = 1;
        }

        currentImproveKind = improveKind;
        stockPage.ResetPage();
        stockPage.InitStocks_equipExp();
        stockPage.SelectEmpty();
        RefreshImprovePanel();
    }
Exemplo n.º 5
0
    public void initStock(GDEHeroData data
                          , SDConstants.MaterialType MType = SDConstants.MaterialType.end)
    {
        stockType    = SDConstants.StockType.hero;
        materialType = MType;
        itemId       = data.id;
        hashcode     = data.hashCode;
        itemNum      = 1;
        HeroInfo info = SDDataManager.Instance.getHeroInfoById(itemId);

        starVision.StarNum = info.LEVEL + data.starNumUpgradeTimes;
        if (NumText)
        {
            NumText.gameObject.SetActive(false);
        }

        itemImg.sprite  = info.FaceIcon;
        bgImg.sprite    = SDDataManager.Instance.baseBgSpriteByRarity(info.Rarity);
        frameImg.sprite = SDDataManager.Instance.baseFrameSpriteByRarity(info.Rarity);
        //
        isLocked = data.locked;
    }
Exemplo n.º 6
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.º 7
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.º 8
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
    }