using System.Linq; using UnityEngine; public class CashierDesk : BaseInteractableObject { [SerializeField] private ContainerSO _containerSO; public override void Interact(Player player) { if (player.IsHoldContainerItem()) { var playerContainer = player.GetContainerItem(); var playerItemsList = playerContainer.GetItems(); player.ClearContainerItem(); if (playerItemsList.Any()) { float finalPrice = 0; foreach (var item in playerItemsList) { finalPrice += item.Price; } var transform = Instantiate(_containerSO.prefab, _playerArrivePoint); var containerItem = transform.GetComponent(); if (containerItem == null) { Debug.LogError("Container Item is null"); return; } player.Pay(finalPrice); containerItem.AddItems(playerItemsList); player.SetContainerItem(containerItem); } } } }