///// <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); }
/// <summary> /// 添加商品 /// </summary> /// <param name="item"></param> /// <returns></returns> public bool addShopItem(IBaseShopItem item) { return(pushItem(item as SI)); }
/// <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); }