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