private static int SortCompare2Fashion(StoreGoodsInfo sgi1, StoreGoodsInfo sgi2)
    {
        int result = 0;

        if (sgi1.iId == sgi2.iId)
        {
            result = 0;
        }
        else
        {
            if (!FashionManager.Instance.IsHasEternalFashion(sgi1.iId) && FashionManager.Instance.IsHasEternalFashion(sgi2.iId))
            {
                return(-1);
            }
            if (FashionManager.Instance.IsHasEternalFashion(sgi1.iId) && !FashionManager.Instance.IsHasEternalFashion(sgi2.iId))
            {
                return(1);
            }
            if (sgi1.iId < sgi2.iId)
            {
                result = -1;
            }
            else if (sgi1.iId > sgi2.iId)
            {
                result = 1;
            }
        }
        return(result);
    }
    private OOXShoppingUnit GetItem2Normal(int storeId, StoreGoodsInfo sgi)
    {
        OOXShoppingUnit oOXShoppingUnit = new OOXShoppingUnit();

        oOXShoppingUnit.iStoreId = storeId;
        oOXShoppingUnit.iId      = sgi.iId;
        int itemId = sgi.itemId;

        oOXShoppingUnit.ItemFrame = GameDataUtils.GetItemFrame(itemId);
        oOXShoppingUnit.ItemIcon  = GameDataUtils.GetItemIcon(itemId);
        oOXShoppingUnit.ItemName  = GameDataUtils.GetEquipItemNameAndLV(itemId, false);
        if (sgi.stockCfg == -1)
        {
            oOXShoppingUnit.ItemNum    = string.Empty;
            oOXShoppingUnit.ItemFlagOn = false;
        }
        else
        {
            int num = Mathf.Max(0, sgi.stockCfg - sgi.buyTimes);
            oOXShoppingUnit.ItemNum = num + "/" + sgi.stockCfg;
            if (num > 0 && XMarketManager.Instance.GetCurrentShopCanBuyMax() > 0)
            {
                oOXShoppingUnit.ItemFlagOn = false;
            }
            else
            {
                oOXShoppingUnit.ItemFlagOn = true;
            }
        }
        if (sgi.extraInfo.vipLvLmt > 0 && sgi.extraInfo.vipLvLmt > EntityWorld.Instance.EntSelf.VipLv)
        {
            oOXShoppingUnit.LockTip      = string.Format(GameDataUtils.GetChineseContent(508054, false), sgi.extraInfo.vipLvLmt);
            oOXShoppingUnit.PriceNowIcon = ResourceManagerBase.GetNullSprite();
            oOXShoppingUnit.PriceNow     = string.Empty;
        }
        else
        {
            oOXShoppingUnit.LockTip      = string.Empty;
            oOXShoppingUnit.PriceNowIcon = MoneyType.GetIcon(sgi.moneyType);
            oOXShoppingUnit.PriceNow     = "x" + BaseMarketManager.CurrentManagerInstance.GetCommodityPrice(sgi.iId, 1);
        }
        if (!oOXShoppingUnit.ItemFlagOn && sgi.extraInfo.discountIds.get_Count() > 0)
        {
            oOXShoppingUnit.DiscountOn = true;
            SZheKouPeiZhi sZheKouPeiZhi = DataReader <SZheKouPeiZhi> .Get(this.GetDiscountNow(sgi));

            if (sZheKouPeiZhi != null)
            {
                oOXShoppingUnit.DiscountNumber = GameDataUtils.GetChineseContent(sZheKouPeiZhi.icon, false);
            }
        }
        else
        {
            oOXShoppingUnit.DiscountOn = false;
        }
        oOXShoppingUnit.ItemFlagOwnOn = false;
        return(oOXShoppingUnit);
    }
    public void BuyFashion(int iId, int index)
    {
        StoreGoodsInfo commodityInfo = this.GetCommodityInfo(iId);

        if (commodityInfo != null && index < commodityInfo.unitPrice.get_Count())
        {
            this.SendBuyGoods(3, iId, 1, commodityInfo.unitPrice.get_Item(index));
        }
    }
    public int GetMaxBuyCount(int iId)
    {
        StoreGoodsInfo commodityInfo = this.GetCommodityInfo(iId);

        if (commodityInfo.stockCfg == -1)
        {
            return(9999);
        }
        return(Mathf.Min(commodityInfo.stockCfg - commodityInfo.buyTimes, this.GetCurrentShopCanBuyMax()));
    }
    private int GetDiscountNow(StoreGoodsInfo sgi)
    {
        int buyTimes = sgi.buyTimes;

        if (buyTimes < sgi.extraInfo.discountIds.get_Count())
        {
            return(sgi.extraInfo.discountIds.get_Item(buyTimes));
        }
        return(sgi.extraInfo.discountIds.get_Item(sgi.extraInfo.discountIds.get_Count() - 1));
    }
    private static int SortCompare2Item(StoreGoodsInfo sgi1, StoreGoodsInfo sgi2)
    {
        int result = 0;

        if (sgi1.iId == sgi2.iId)
        {
            result = 0;
        }
        else if (sgi1.iId < sgi2.iId)
        {
            result = -1;
        }
        else if (sgi1.iId > sgi2.iId)
        {
            result = 1;
        }
        return(result);
    }
    private void UpdateSGI(int shopId, StoreGoodsInfo sgi)
    {
        if (sgi == null)
        {
            return;
        }
        StoreInfo shop = this.GetShop(shopId);

        if (shop != null)
        {
            List <StoreGoodsInfo> goodsInfo = shop.goodsInfo;
            for (int i = 0; i < goodsInfo.get_Count(); i++)
            {
                if (goodsInfo.get_Item(i).iId == sgi.iId)
                {
                    goodsInfo.set_Item(i, sgi);
                }
            }
        }
    }
    private OOXShoppingUnit GetItem2Fashion(int storeId, StoreGoodsInfo sgi)
    {
        OOXShoppingUnit oOXShoppingUnit = new OOXShoppingUnit();

        oOXShoppingUnit.iStoreId = storeId;
        oOXShoppingUnit.iId      = sgi.iId;
        int itemId = sgi.itemId;

        oOXShoppingUnit.ItemFrame     = GameDataUtils.GetItemFrame(itemId);
        oOXShoppingUnit.ItemIcon      = GameDataUtils.GetItemIcon(itemId);
        oOXShoppingUnit.ItemName      = GameDataUtils.GetEquipItemNameAndLV(itemId, false);
        oOXShoppingUnit.ItemNum       = string.Empty;
        oOXShoppingUnit.ItemFlagOn    = false;
        oOXShoppingUnit.LockTip       = string.Empty;
        oOXShoppingUnit.PriceNowIcon  = MoneyType.GetIcon(sgi.moneyType);
        oOXShoppingUnit.PriceNow      = "x" + BaseMarketManager.CurrentManagerInstance.GetCommodityPrice(sgi.iId, 1);
        oOXShoppingUnit.DiscountOn    = false;
        oOXShoppingUnit.ItemFlagOwnOn = FashionManager.Instance.IsHasEternalFashion(sgi.iId);
        return(oOXShoppingUnit);
    }
Beispiel #9
0
    public void RefreshInfo(int iId, SShangPinKu dataSSPK, int group_price, int money_type, int buyMaxCount)
    {
        if (dataSSPK == null)
        {
            return;
        }
        StoreGoodsInfo commodityInfo = XMarketManager.Instance.GetCommodityInfo(dataSSPK.Id);

        if (commodityInfo == null)
        {
            return;
        }
        this.ResetBuyRequire();
        if (commodityInfo.extraInfo.vipLvLmt > 0)
        {
            this.is_vip_privilege_on = VIPManager.Instance.IsVIPPrivilegeOn();
            this.is_vip_level_on     = (EntityWorld.Instance.EntSelf.VipLv >= commodityInfo.extraInfo.vipLvLmt);
        }
        if (!this.is_vip_privilege_on)
        {
            this.BtnOKName = string.Format("激活VIP{0}", commodityInfo.extraInfo.vipLvLmt);
        }
        else if (!this.is_vip_level_on)
        {
            this.BtnOKName = string.Format("VIP{0}可购买", commodityInfo.extraInfo.vipLvLmt);
        }
        else
        {
            this.BtnOKName = GameDataUtils.GetChineseContent(508013, false);
        }
        this.m_iId       = iId;
        this.BuyMaxCount = buyMaxCount;
        int   itemId   = dataSSPK.itemId;
        int   itemNum  = 1;
        Items dataItem = DataReader <Items> .Get(itemId);

        this.SetItem(dataItem, itemNum, money_type, group_price);
    }
    public override int GetCommodityPrice(int iId, int group = 1)
    {
        int            num           = 0;
        StoreGoodsInfo commodityInfo = this.GetCommodityInfo(iId);
        int            num2          = 0;

        if (commodityInfo.unitPrice.get_Count() > 0)
        {
            num2 = commodityInfo.unitPrice.get_Item(0);
        }
        int num3 = 0;

        if (commodityInfo.extraInfo != null && commodityInfo.extraInfo.discountIds != null)
        {
            num3 = commodityInfo.extraInfo.discountIds.get_Count();
        }
        if (num3 > 0)
        {
            for (int i = 0; i < group; i++)
            {
                int num4 = commodityInfo.buyTimes + i;
                if (num4 < num3)
                {
                    num += num2 * commodityInfo.extraInfo.discountIds.get_Item(num4) / 10;
                }
                else
                {
                    num += num2 * commodityInfo.extraInfo.discountIds.get_Item(num3 - 1) / 10;
                }
            }
        }
        else
        {
            num = num2 * group;
        }
        return(num);
    }
    public override int GetCommodityMoneyType(int iId)
    {
        StoreGoodsInfo commodityInfo = this.GetCommodityInfo(iId);

        return(commodityInfo.moneyType);
    }
Beispiel #12
0
    protected void SetCost(int curBuyRank)
    {
        StoreGoodsInfo commodityInfo = XMarketManager.Instance.GetCommodityInfo(this.commodityDataID);

        this.SetCost(string.Format(GameDataUtils.GetChineseContent(1005014, false), (commodityInfo.unitPrice.get_Count() <= curBuyRank) ? 2147483647 : commodityInfo.unitPrice.get_Item(curBuyRank)));
    }