// 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));
 }