Пример #1
0
    /// <summary>
    /// 全部商品信息初始化
    /// </summary>
    public void GoodDataInfo()
    {
        mMaxGoodNum = DataTable.Instance.GetGoodData().Count;
        mGoodsList  = new int[DataTable.Instance.GetGoodData().Count];
        int idx = 0;

        mAllGoodsDir.Clear();
        PlayerData.Instance.mDepotGoods.Clear();
        Hashtable dirData = DataTable.Instance.GetGoodData();

        //遍历方法二:遍历哈希表中的值
        foreach (Tab_GoodData item in dirData.Values)
        {
//            Debug.Log(item.Name);
            mAllGoodsDir.Add(item.ID, new GoodItemData(item));
            GoodItemData goodItem = new GoodItemData(item);
            goodItem.isDepot = true;
            PlayerData.Instance.mDepotGoods.Add(item.ID, goodItem);
            if (idx < mGoodsList.Length)
            {
                mGoodsList[idx] = item.ID;
                idx++;
            }
        }
    }
Пример #2
0
 public void ShowGoodByDepot(GoodItemData data)
 {
     goodData         = data;
     icon.sprite      = data.iconSprite;
     goodName.text    = data.goodName;
     goodPrice.text   = "¥" + data.goodPrice.ToString();
     goodDetails.text = String.Format("持有数量:{0}个,商品总值:¥{1}", data.goodNum, data.goodPrice * data.goodNum);
 }
Пример #3
0
 public void ShowGoodByMarket(GoodItemData data)
 {
     goodData         = data;
     icon.sprite      = data.iconSprite;
     goodName.text    = data.goodName;
     goodPrice.text   = "<color=#B25D5D64>¥</color>" + data.goodPrice.ToString();
     goodDetails.text = String.Format("名声影响:{0} 价格范围:¥{1}至¥{2}", data.goodData.Repute, data.goodData.PriceMin, data.goodData.PriceMax);
 }
Пример #4
0
        // GET: Item/Details/5
        public async Task <ActionResult> Details(int id)
        {
            var surl = await GalleryController.GetSurl();

            var request = new ImageDataRequest(id);
            var rawData = await request.GetItemData(surl);

            var goodData = GoodItemData.CreateFromItemInformation(rawData);

            return(View(goodData));
        }
Пример #5
0
        private static async Task <GoodItemData> GetItemData(string surl, int itemId)
        {
            var request = new ImageDataRequest(itemId);
            var rawData = await request.GetItemData(surl);

            var goodData = GoodItemData.CreateFromItemInformation(rawData);

            return(goodData);
            ////galleryItemInfo.Name = goodData.Name;
            ////galleryItemInfo.Artist = goodData.Artist;
            ////galleryItemInfo.ImageUrl = goodData.ImageUrl;
        }
Пример #6
0
    /// <summary>
    /// 出售商品
    /// </summary>
    /// <param name="goodData">商品</param>
    public void SellGoods(GoodItemData goodData, int sellNum)
    {
        GoodItemData depotGood  = mDepotGoods[goodData.goodId];
        GoodItemData marketGood = GoodData.Instance.mMarketGoods.Find(a => a.goodId == goodData.goodId);

        sellNum                      = sellNum < depotGood.goodNum ? sellNum : depotGood.goodNum;
        depotGood.goodNum            = depotGood.goodNum - sellNum;
        mDepotGoods[goodData.goodId] = depotGood;
        //更新仓库显示
        MainView.instacne.CreatGoodItem(mDepotGoods.Values.ToList(), true);
        this.Cash     += marketGood.goodPrice * sellNum;
        this.GoodRoom -= sellNum;
    }
Пример #7
0
    /// <summary>
    /// 获得随机商品信息
    /// </summary>
    /// <param name="item">商品</param>
    /// <returns>随机后的商品</returns>
    public GoodItemData GetRandomGoodData(GoodItemData item)
    {
        int randomNum = Random.Range(1, 101);

        item.mEvent      = null;
        item.eventEfftct = 1.0f;

        int mEventDropNum = 0;
        int mEventRiseNum = 0;

        for (int i = 0; i < item.goodData.GetEventDropIdCount(); i++)
        {
            if (item.goodData.GetEventDropIdbyIndex(i) > 0)
            {
                mEventDropNum++;
            }
        }
        for (int i = 0; i < item.goodData.GetEventRiseIdCount(); i++)
        {
            if (item.goodData.GetEventRiseIdbyIndex(i) > 0)
            {
                mEventRiseNum++;
            }
        }
        Tab_Event tabEve = null;

        if (randomNum <= item.goodData.EventRatioDrop && mEventDropNum > 0)
        {
            tabEve = DataTable.Instance.GetEventById(item.goodData.GetEventDropIdbyIndex(Random.Range(0, mEventDropNum)));
            if (tabEve != null)
            {
                item.eventEfftct = (float)tabEve.EventEffect / 10.0f;
                item.mEvent      = tabEve;
            }
        }
        if (randomNum > (100 - item.goodData.EventRatioRise) && mEventRiseNum > 0)
        {
            tabEve = DataTable.Instance.GetEventById(item.goodData.GetEventRiseIdbyIndex(Random.Range(0, mEventRiseNum)));
            if (tabEve != null)
            {
                item.eventEfftct = (float)tabEve.EventEffect / 10.0f;
                item.mEvent      = tabEve;
            }
        }
        //随机一下 获得事件值
        item.goodPrice = (int)(Random.Range(item.goodData.PriceMin, item.goodData.PriceMax) * item.eventEfftct);
//        Debug.Log("商品名称: "+ item.goodName + " 最大值:"+ item.goodData.PriceMax + " 最小值:"+ item.goodData.PriceMin +  " 当前值:"+ item.goodPrice);
        item.isDepot = false;
        return(item);
    }
Пример #8
0
    public void Show(GoodItemData data)
    {
        gameObject.SetActive(true);
        goodData          = data;
        goodNameText.text = Localization.Get("商品名称: ") + data.goodName;

        if (!data.isDepot)
        {
            //假如是仓库显示
            // 标题
            titleText.text = Localization.Get("买进");
            // 当前价格
            curPriceText.text = Localization.Get("当前价格: ") + data.goodPrice.ToString();
            // 剩余资金
            monseText.text = Localization.Get("剩余资金: ") + PlayerData.Instance.Cash.ToString();
            // 最多购买 剩余空间
            int leftNum = PlayerData.Instance.Cash / data.goodPrice;
            goodNumText.text = Localization.Get("最多购买: ") + (leftNum < PlayerData.Instance.LeftRoom ? leftNum : PlayerData.Instance.LeftRoom).ToString();
            inputText.text   = (leftNum < PlayerData.Instance.LeftRoom ? leftNum : PlayerData.Instance.LeftRoom).ToString();
        }
        else
        {
            //标题
            titleText.text = Localization.Get("出售");
            // 当前价格
            GoodItemData item = GoodData.Instance.mMarketGoods.Find(a => a.goodId == data.goodId);
            if (item == null)
            {
                //表示没卖的
                TipProxy.ShowTip(Localization.Get("没卖的"));
                gameObject.SetActive(false);
                return;
            }
            curPriceText.text = Localization.Get("当前价格: ") + item.goodPrice.ToString();
            // 买进均价
            monseText.text = Localization.Get("买进均价: ") + data.goodPrice.ToString();
            // 最大盈亏
            goodNumText.text = Localization.Get("最大盈亏: ") + ((item.goodPrice - data.goodPrice) * data.goodNum).ToString();
            inputText.text   = data.goodNum.ToString();
        }
    }
Пример #9
0
    /// <summary>
    /// 购买商品
    /// </summary>
    /// <param name="goodData">商品</param>
    public void BuyGoods(GoodItemData goodData, int buyNum)
    {
        if (goodData == null)
        {
            return;
        }
        //判断商品是否超出承受范围
        if (buyNum > PlayerData.Instance.LeftRoom)
        {
            TipProxy.ShowTip("GoodNumOver");
            return;
        }
        GoodItemData depotGood = mDepotGoods[goodData.goodId];
        int          allNum    = (depotGood.goodNum + buyNum);

        depotGood.goodPrice          = allNum > 0 ? (depotGood.goodPrice * depotGood.goodNum + goodData.goodPrice * buyNum) / allNum : 0;
        depotGood.goodNum            = depotGood.goodNum + buyNum;
        mDepotGoods[goodData.goodId] = depotGood;
        this.Cash     -= goodData.goodPrice * buyNum;
        this.GoodRoom += buyNum;
    }