示例#1
0
    public void Initialize(PropAward item, AwardDisplayCtrl ctrl)
    {
        PropSample sample = PropSampleManager.Instance.getPropSampleBySid(item.sid);
        Prop       tmp    = PropManagerment.Instance.createProp(sample.sid);

        if (tmp.isMagicScrap())
        {
            Utils.RemoveAllChild(itemImage.transform);
            MagicWeapon magic = MagicWeaponScrapManagerment.Instance.getMagicWeaponByScrapSid(tmp.sid);
            GameObject  obj   = NGUITools.AddChild(itemImage.gameObject, starPerfab);
            ShowStars   show  = obj.GetComponent <ShowStars>();
            show.init(magic, MagicWeaponManagerment.USEDBUMAGIC_AWARD);
        }
        itemName.text = LanguageConfigManager.Instance.getLanguage("s0058") + sample.name;
        string count;

        if (item.num == 0)
        {
            count = "x1";
        }
        else
        {
            count = "x" + item.num;
        }
        itemName.text += count;

        itemImage.width  = 256;
        itemImage.height = 256;
        if (item.sid == 71181)
        {
            itemImage.width  = 180;
            itemImage.height = 180;
        }
        qualityBg.spriteName = QualityManagerment.qualityIDToIconSpriteName(sample.qualityId);
        ResourcesManager.Instance.LoadAssetBundleTexture(ResourcesManager.ICONIMAGEPATH + sample.iconId, itemImage);
        Initialize(ctrl);
    }
示例#2
0
    public void parse(ErlArray array, Award award)
    {
        ErlArray arr;

        for (int i = 0; i < array.Value.Length; i++)
        {
            arr = array.Value [i] as ErlArray;
            string type = (arr.Value [0]).getValueString();
            if (type == TYPE_RMB)
            {
                int rmb = StringKit.toInt(arr.Value [1].getValueString());
                award.awardRmb = rmb;
            }
            else if (type == TYPE_CARD)
            {
                Card c = CardManagerment.Instance.createCard();
                c.bytesRead(0, arr.Value [1] as ErlArray);
                StorageManagerment.Instance.addCardProp(c);
                CardAward card = new CardAward();
                card.id  = c.uid;
                card.sid = c.sid;
                award.cards.Add(card);
            }
            else if (type == TYPE_BEAST)
            {
                Card c = CardManagerment.Instance.createCard();
                c.bytesRead(0, arr.Value [1] as ErlArray);
                StorageManagerment.Instance.addBeastProp(c);
                CardAward card = new CardAward();
                card.id  = c.uid;
                card.sid = c.sid;
                award.cards.Add(card);
            }
            else if (type == TYPE_PROP)
            {
                Prop p = PropManagerment.Instance.createProp();
                p.bytesRead(1, arr);
                StorageManagerment.Instance.addGoodsProp(p);
                PropAward prop = new PropAward();
                prop.sid = p.sid;
                prop.num = p.getNum();
                award.props.Add(prop);
            }
            else if (type == TYPE_EQUIP)
            {
                Equip eq = EquipManagerment.Instance.createEquip();
                eq.bytesRead(0, arr.Value [1] as ErlArray);
//				if(!ChooseTypeSampleManager.Instance.isToEat (eq, ChooseTypeSampleManager.TYPE_EQUIP_EXP))
                eq.isNew = true;
                StorageManagerment.Instance.addEquipProp(eq);
                EquipAward equip = new  EquipAward();
                equip.id  = eq.uid;
                equip.sid = eq.sid;
                award.equips.Add(equip);
            }
            else if (type == KEY_MAGICWEAPON)
            {
                MagicWeapon mc = MagicWeaponManagerment.Instance.createMagicWeapon();
                mc.bytesRead(0, arr.Value[1] as ErlArray);
                StorageManagerment.Instance.addMagicWeaponProp(mc);
                MagicwWeaponAward mcAward = new MagicwWeaponAward();
                mcAward.id  = mc.uid;
                mcAward.sid = mc.sid;
                award.magicWeapons.Add(mcAward);
            }
            else if (type == TempPropType.STARSOUL)
            {
                StarSoul starSoul = StarSoulManager.Instance.createStarSoul();
                starSoul.bytesRead(0, arr.Value [1] as ErlArray);
                StorageManagerment.Instance.addStarSoulStorage(starSoul, true);
                StarSoulAward starSoulAward = new  StarSoulAward();
                starSoulAward.uid = starSoul.uid;
                starSoulAward.sid = starSoul.sid;
                award.starsouls.Add(starSoulAward);
            }
            else if (type == TYPE_EXP)
            {
                long exp = StringKit.toLong(arr.Value [1].getValueString());
                award.awardExp = exp;
            }
            else if (type == TYPE_MONEY)
            {
                int money = StringKit.toInt(arr.Value [1].getValueString());
                award.awardMoney = money;
            }
            else if (type == TYPE_CARD_EXP)
            {
                EXPAward exp = new EXPAward();
                exp.id       = arr.Value [1].getValueString();
                exp.awardExp = StringKit.toLong(arr.Value [2].getValueString());
                award.exps.Add(exp);
            }
            else if (type == TYPE_HONOR)
            {
                int honor = StringKit.toInt(arr.Value [1].getValueString());
                award.awardHonor = honor;
            }
            else if (type == TYPE_INTEGRAL)
            {
                int integral = StringKit.toInt(arr.Value [1].getValueString());
                award.awardIntegral = integral;
            }
            else if (type == TYPE_MERIT)
            {
                int merit = StringKit.toInt(arr.Value [1].getValueString());
                award.awardMerit = merit;
            }
            else if (type == TYPE_STAR)
            {
                int starNum = StringKit.toInt(arr.Value [1].getValueString());
                award.awardStar = starNum;
            }
            else if (type == TYPE_CONTRIBUTION)
            {
                int contribution = StringKit.toInt(arr.Value [1].getValueString());
                award.awardCon = contribution;
            }
            else if (type == TYPE_PK)
            {
                int pkNum = StringKit.toInt(arr.Value [1].getValueString());
                SweepManagement.Instance.initPvpNum(pkNum);
            }
            else if (type == TYPE_LUCKSTAR)
            {
                int luckStarNum = StringKit.toInt(arr.Value [1].getValueString());
                award.awardLuckyStar = luckStarNum;
            }
            else if (type == TYPE_PRESTIGE)
            {
                int prestige = StringKit.toInt(arr.Value[1].getValueString());
                award.awardPrestige = prestige;
            }
            else if (type == TempPropType.STARSOUL_DEBRIS)
            {
                int debris = StringKit.toInt(arr.Value[1].getValueString());
                award.awardStarsoulDebris = debris;
            }
            else if (type == TYPE_GODSWAR_INTEGRAL)
            {
                int debris = StringKit.toInt(arr.Value[1].getValueString());
                award.godsWar_awardIntegral = debris;
            }
            else if (type == TYPE_LASTBATTLE_SCORE)
            {
                LastBattleManagement.Instance.battleScore = StringKit.toInt(arr.Value[1].getValueString());
            }
        }
    }
        /// <summary>
        /// 根据指定的总价格及产出规则,计算获得的金币数及道具数量
        /// </summary>
        /// <param name="totalCost">产出物总价格</param>
        /// <param name="awardID"></param>
        /// <returns>返回计算得出的奖品列表,或返回null</returns>
        public AwardDatas GetAwards(int totalCost, int awardID)
        {
            AwardInfo awardInfo = this.AwardConfig.GetAward(awardID);

            if (awardInfo != null)
            {
                Debug.LogFormat("<><AwardDataHelper.GetAwards>AwardInfo: {0}", awardInfo);
                AwardDatas awardDatas = new AwardDatas();
                try
                {
                    foreach (var awardConfig in awardInfo.Awards)
                    {
                        if (awardConfig is CoinAward)
                        {
                            awardDatas.Datas.Add(new AwardData()
                            {
                                ID        = this.FundDataManager.GetCoinId(),
                                Count     = (int)(totalCost * awardConfig.Percent),
                                Icon      = "coin",
                                AwardType = AwardTypes.COIN
                            });
                        }
                        else if (awardConfig is PropAward)
                        {
                            PropAward        propAward  = awardConfig as PropAward;             //转成道具奖品产出规则
                            int              cost       = (int)(totalCost * propAward.Percent); //计算道具奖品的总价格
                            List <AwardData> sourceData = new List <AwardData>();
                            if (propAward.FoodAward)
                            {//将食物表中的所有数据转成统一格式
                                List <PropertyItem> foods = this.PropertyConfig.GetPropertyList();
                                sourceData.AddRange(this.PropertyItemList2AwardDataList(foods));
                            }

                            if (propAward.MaterialAward)
                            {//将配饰表中所有的材料数据转成统一格式
                            }

                            List <AwardData> propAwards = this.GetPropAwards(cost, sourceData);//根据金币数,从源数据中随机取出1~2个奖品
                            if (propAwards != null && propAwards.Count > 0)
                            {
                                awardDatas.Datas.AddRange(propAwards);
                            }
                        }
                    }

                    if (awardDatas.Datas.Count == 0)
                    {
                        Debug.LogErrorFormat("<><AwardDataHelper.GetAwards>Award config dosen't work, you should get a few coins as least. (totalCost: {0}, awardID: {1})", totalCost, awardID);
                    }

                    this.PrintAwardDatas(awardDatas);
                    return(awardDatas);
                }
                catch (System.Exception ex)
                {
                    Debug.LogErrorFormat("<><AwardDataHelper.GetAwards>Unknown error: {0}", ex.Message);
                    return(null);
                }
            }
            else
            {
                Debug.LogErrorFormat("<><AwardDataHelper.GetAwards>Can't find the award config: {0}", awardID);
                return(null);
            }
        }
示例#4
0
 public void Initialize(PropAward item, AwardDisplayCtrl ctrl)
 {
     label.text = LanguageConfigManager.Instance.getLanguage("s0065") + item.sid;
     awardCtrl  = ctrl;
 }
示例#5
0
 public int num = 0;    //数量
 public void bytesWrite(PropAward aw)
 {
     this.sid = aw.sid;
     this.num = aw.num;
 }