public bool ContextOnInterraction(InteractionContext context) { if (context.Method == InteractionMethod.Left && (context.SelectedItem is HammerItem) == false) { if (context.HasTarget && context.Target is WorldObject && (context.Target as WorldObject).GetComponent <CraftingComponent>() != null) { WorldObject obj = (context.Target as WorldObject); CraftingComponent craft = obj.GetComponent <CraftingComponent>(); CreditComponent credit = obj.GetComponent <CreditComponent>(); if (craft.Parent.Operating && craft.BottleNecked == false) { float time = (float)craft.TimeLeft; if (time >= 10) { time = 10; } float calories = time * 1.5f; bool canPay = true; bool TestCredit = credit != null && credit.UsingCurrency; if (TestCredit) { canPay = CanPay(context.Player, time / 60.0f, credit); } if (context.Player.User.Stomach.Calories >= calories && canPay) { craft.ProcessWorkOrders(time); context.Player.User.ConsumeCalories(calories); if (TestCredit) { FormattableString msg = $"{ProcessPay(context.Player, time/60.0f, credit)}"; ChatManager.ServerMessageToPlayer(msg, context.Player.User, false, DefaultChatTags.Trades); ChatManager.ServerMessageToPlayer(msg, obj.OwnerUser, false, DefaultChatTags.Trades); } } } } } return(false); }