Beispiel #1
0
        protected override AbstractCommodity CreateCommodity(CommodityType commodityType)
        {
            AbstractCommodity           commodity           = null;
            ICommodityIngredientFactory commodityIngredient = new ChaoshiCommodityIngredientFactory();

            if ((commodityType & CommodityType.Gongyinglian) == CommodityType.Gongyinglian)
            {
                commodity = new GongyinglianCommodity(commodityIngredient);
            }
            return(commodity);
        }
        /// <summary>
        /// 发布商品
        /// </summary>
        /// <param name="commodityType">商品类型</param>
        /// <returns></returns>
        public AbstractCommodity IssuedCommodity(CommodityType commodityType)
        {
            AbstractCommodity commodity = CreateCommodity(commodityType);

            commodity.AddionalCommodityInfo = CommodityInfo.AddtionalInfo;
            commodity.BaseCommodityInfo     = CommodityInfo.Base;
            commodity.Products = CommodityInfo.Products;
            commodity.Price    = CommodityInfo.Price;

            commodity.BindProduct();
            commodity.SetPrice();
            commodity.PreResolveCommodity();
            return(commodity);
        }
Beispiel #3
0
        private void OnTryBuy(int money, AbstractCommodity item)
        {
            if (this.money + money < 0)
            {
                Debug.LogWarning("你只有: " + this.money);
                return;
            }

            this.money += money;
//            Debug.Log("当前金钱:"+this.money);
            CEventCenter.BroadMessage(Message.M_MoneyChange, money);
            if (item != null)
            {
                Debug.Log("添加了物品,id: " + item.ID);
                CEventCenter.BroadMessage(Message.M_AddItem, item.ID, 1);
            }
        }
Beispiel #4
0
        /// <summary>
        /// 实现创建商品
        /// </summary>
        /// <param name="commodityType"></param>
        /// <returns></returns>
        protected override AbstractCommodity CreateCommodity(CommodityType commodityType)
        {
            AbstractCommodity           commodity         = null;
            ICommodityIngredientFactory ingredientFactory = new GongyinglianZYCommodityIngredientFactory()
            {
                Commodity = CommodityInfo
            };

            if ((commodityType & CommodityType.Gongyinglian) == CommodityType.Gongyinglian)
            {
                commodity = new GongyinglianCommodity(ingredientFactory);
            }
            else if ((commodityType & CommodityType.Chaoshi) == CommodityType.Chaoshi)
            {
                commodity = new ChaoshiCommodity(ingredientFactory);
            }
            return(commodity);
        }