// Token: 0x060010AC RID: 4268 RVA: 0x00049178 File Offset: 0x00047378 public string GetContextString(Interactor activator) { PurchaseInteraction.sharedStringBuilder.Clear(); PurchaseInteraction.sharedStringBuilder.Append(Language.GetString(this.contextToken)); if (this.costType != CostTypeIndex.None) { PurchaseInteraction.sharedStringBuilder.Append(" <nobr>("); CostTypeCatalog.GetCostTypeDef(this.costType).BuildCostStringStyled(this.cost, PurchaseInteraction.sharedStringBuilder, false, true); PurchaseInteraction.sharedStringBuilder.Append(")</nobr>"); } return(PurchaseInteraction.sharedStringBuilder.ToString()); }
// Token: 0x060009DE RID: 2526 RVA: 0x0002B010 File Offset: 0x00029210 private void FixedUpdate() { if (this.targetTextMesh) { CostHologramContent.sharedStringBuilder.Clear(); Color color = Color.white; CostTypeDef costTypeDef = CostTypeCatalog.GetCostTypeDef(this.costType); if (costTypeDef != null) { costTypeDef.BuildCostStringStyled(this.displayValue, CostHologramContent.sharedStringBuilder, true, false); color = costTypeDef.GetCostColor(true); } this.targetTextMesh.SetText(CostHologramContent.sharedStringBuilder); this.targetTextMesh.color = color; } }
// Token: 0x060010B3 RID: 4275 RVA: 0x00049330 File Offset: 0x00047530 public void OnInteractionBegin(Interactor activator) { if (!this.CanBeAffordedByInteractor(activator)) { return; } CharacterBody component = activator.GetComponent <CharacterBody>(); CostTypeDef costTypeDef = CostTypeCatalog.GetCostTypeDef(this.costType); ItemIndex itemIndex = ItemIndex.None; ShopTerminalBehavior component2 = base.GetComponent <ShopTerminalBehavior>(); if (component2) { itemIndex = component2.CurrentPickupIndex().itemIndex; } CostTypeDef.PayCostResults payCostResults = costTypeDef.PayCost(this.cost, activator, base.gameObject, this.rng, itemIndex); foreach (ItemIndex itemIndex2 in payCostResults.itemsTaken) { PurchaseInteraction.CreateItemTakenOrb(component.corePosition, base.gameObject, itemIndex2); if (itemIndex2 != itemIndex) { Action <PurchaseInteraction, Interactor> action = PurchaseInteraction.onItemSpentOnPurchase; if (action != null) { action(this, activator); } } } foreach (EquipmentIndex arg in payCostResults.equipmentTaken) { Action <PurchaseInteraction, Interactor, EquipmentIndex> action2 = PurchaseInteraction.onEquipmentSpentOnPurchase; if (action2 != null) { action2(this, activator, arg); } } IEnumerable <StatDef> statDefsToIncrement = this.purchaseStatNames.Select(new Func <string, StatDef>(StatDef.Find)); StatManager.OnPurchase <IEnumerable <StatDef> >(component, this.costType, statDefsToIncrement); this.onPurchase.Invoke(activator); this.lastActivator = activator; }
// Token: 0x060010AE RID: 4270 RVA: 0x00049245 File Offset: 0x00047445 public bool CanBeAffordedByInteractor(Interactor activator) { return(CostTypeCatalog.GetCostTypeDef(this.costType).IsAffordable(this.cost, activator)); }