Example #1
0
        ///// <summary>
        ///// 生成商店
        ///// </summary>
        ///// <typeparam name="S">商品类型</typeparam>
        //public void generateShop<S>() where S : IBaseShop {
        //	if (isConnected) return;
        //	else generateShopLocal<S>();
        //}

        ///// <summary>
        ///// 生成商店
        ///// </summary>
        ///// <typeparam name="SI">商品项类型</typeparam>
        ///// <param name="shopItem">商品项</param>
        ///// <param name="count">数量</param>
        //public void buyItem(IBaseShopItem shopItem, int count) {
        //	if (!isItemBuyable(shopItem, count)) return; // 异常处理

        //	if (isConnected) return;
        //	else buyItemLocal(shopItem, count);
        //}

        /// <summary>
        /// 能否购买
        /// </summary>
        /// <param name="shopItem">商品项</param>
        /// <param name="count">数量</param>
        /// <returns>能否购买</returns>
        public bool isItemBuyable(IBaseShopItem shopItem, int count)
        {
            if (shopItem.shop != currentShop)
            {
                return(false);
            }

            var money = player?.money;

            if (money == null)
            {
                return(false);
            }

            return(money >= shopItem.price * count);
        }
Example #2
0
 /// <summary>
 /// 添加商品
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public bool addShopItem(IBaseShopItem item)
 {
     return(pushItem(item as SI));
 }
Example #3
0
 /// <summary>
 /// 执行
 /// </summary>
 public void invoke(IBaseShopItem shopItem, int count,
                    UnityAction onSuccess = null, UnityAction onError = null)
 {
     this.shopItem = shopItem; this.count = count;
     invoke(shopItem.shop, onSuccess, onError);
 }