//a piece can request a collectable at a specified position, and if there is one available it will be spawned in public void requestCollectable(TunnelCollectableSlot slot) { if (availablePool.Count > 0) { TunnelCollectable tc = chooseCollectable(); spawnCollectable(tc, slot); } else //unlikely but possible { Debug.Log("No available collectables left. Ignoring request."); } }
private void spawnCollectable(TunnelCollectable tc, TunnelCollectableSlot slot) { tc.Reset(); slot.PlaceCollectable(tc); tc.gameObject.SetActive(true); }