import 'package:guru_app/analytics/guru_analytics.dart'; import 'package:guru_app/database/guru_db.dart'; import 'package:guru_app/financial/asset/assets_model.dart'; import 'package:guru_app/financial/asset/assets_store.dart'; import 'package:guru_app/financial/data/db/order_database.dart'; import 'package:guru_app/financial/igb/igb_product.dart'; import 'package:guru_app/financial/igc/igc_model.dart'; import 'package:guru_app/financial/manifest/manifest_manager.dart'; import 'package:guru_app/financial/product/product_model.dart'; import 'package:guru_app/guru_app.dart'; import 'package:guru_app/inventory/inventory_manager.dart'; import 'package:guru_app/property/app_property.dart'; import 'package:guru_utils/extensions/extensions.dart'; import 'package:guru_utils/log/log.dart'; import 'package:guru_utils/property/app_property.dart'; /// Created by Haoyi on 2023/2/18 class IgbManager { static final IgbManager _instance = IgbManager._(); static IgbManager get instance => _instance; IgbManager._(); Future init() async { await InventoryManager.instance.init(); } Future reloadAssets() async {} Future accumulate(int igc, TransactionMethod method, {String? scene}) async { return false; } Future clear() async {} Future buildIgbProduct(TransactionIntent intent) async { final manifest = await ManifestManager.instance.createManifest(intent); return IgbProduct(intent.productId, manifest, intent.igbCost); } Future redeem(IgbProduct product) async { Log.v("Igb buy"); final result = await InventoryManager.instance.consume(product.cost, product.manifest); if (result) { await ManifestManager.instance.deliver(product.manifest, TransactionMethod.igb); } return true; } void dispose() {} }