public override void Configure() { base.Configure(); Funds.Configure(); Items = new List <ItemData>(); PlayFab.Player.Inventory.OnResponse += OnPlayFabInventoryRetrieved; }
void UpdateState() { var data = Player.Units.Upgrades.Find(Template).Find(Type); var template = Template.Upgrades.Template.Find(Type); var isFull = data.Value >= ItemsUpgradesCore.Max; instruction.gameObject.SetActive(isFull); //buy.gameObject.SetActive(!isFull); if (isFull) { buy.interactable = false; price.text = "---------"; requiremnets.Hide(); instruction.text = data.Value + "/" + ItemsUpgradesCore.Max + " " + Core.Localization.Phrases.Get("Full"); } else { var cost = new Currency(ItemsUpgradesCore.Currency, (int)template.Cost.Calculate(data.Value + 1)); var requirements = template.Requirements[data.Value]; price.text = cost.ToString(); buy.interactable = Funds.CanAfford(cost) && Player.Inventory.CompliesWith(requirements); requiremnets.Set(requirements); } progression.Value = data.Value; GrayscaleController.Off = buy.interactable; }