public void Tick()
        {
            if (frameCount < frameCheck)
            {
                frameCount++;
                return;
            }
            frameCount = 0;

            for (int i = 0; i < pick_items.Count; i++)
            {
                float distance = Vector3.Distance(pick_items[i].transform.position, transform.position);

                if (distance < 2)
                {
                    itemCandidate = pick_items[i];
                }
                else
                {
                    if (itemCandidate == pick_items[i])
                    {
                        itemCandidate = null;
                    }
                }
            }

            for (int i = 0; i < interactions.Count; i++)
            {
                float d = Vector3.Distance(interactions[i].transform.position, transform.position);
                if (d < 2)
                {
                    interactionCandidate = interactions[i];
                }
                else
                {
                    if (interactionCandidate == interactions[i])
                    {
                        interactionCandidate = null;
                    }
                }
            }
        }
        public void PickCandidate(StateManager states)
        {
            if (itemCandidate == null)
            {
                return;
            }

            for (int i = 0; i < itemCandidate.items.Length; i++)
            {
                PickItemContainer c = itemCandidate.items[i];

                AddItem(c.itemId, c.itemType, states);
            }

            if (pick_items.Contains(itemCandidate))
            {
                pick_items.Remove(itemCandidate);
            }


            Destroy(itemCandidate.gameObject);
            itemCandidate = null;
        }