/// <summary> /// Purchase this instance. /// </summary> public bool Upgrade() { bool result = false; // Get the currency IAPCurrency cur = IAPInventoryManager.GetCurrency(this.currency); // Get the Level Object IAPAbilityLevel lv = null; if (levels != null && level < levels.Count - 1) { lv = levels[level]; // Check if enough currency // Consume package, delay the save process until next save if (cur != null && cur.Consume(lv.price, true)) { // Upgrade _data.lv += 1; result = true; // Save(); } } return(result); }