public void Initialize(Slot s, CrateSlot cs, float delay) { this.crate = s.crate; this.typeCollected = this.crate.type; //this.crate.transform.parent = transform; this.delay = delay; this.crateSlot = cs; effectState = 0; }
private bool SlotIsEmpty(CrateSlot slotToCheck) { if (slotToCheck.hasItemInSlot) { return(false); } else { return(true); } }
IEnumerator PickRandomCrateSlot() { while (true) { int randomCrateSlotIndex = Random.Range(0, crateSlots.Length); if (crateSlots[randomCrateSlotIndex].hasItemInSlot) { yield return(null); } else { CrateSlot slot = crateSlots[randomCrateSlotIndex]; slot.hasItemInSlot = true; int randomItemToSpawnIndex = Random.Range(0, possibleItemSpawns.Count); Item itemSpawned = possibleItemSpawns[randomItemToSpawnIndex]; GameObject itemObject = Instantiate(itemSpawned.itemPrefab, slot.spawnPoint.position, Quaternion.identity); yield break; } } }