void SetPickUp(PickUp pickUp, Tile tile) { PickUpTier tier = GetTier(); PickUpData data = GetData(); pickUp.type = data.type; pickUp.value = data.value * tier.multiplier; pickUp.spriterRenderer.sprite = data.sprite; pickUp.spriterRenderer.color = tier.color; pickUp.tile = tile; tile.content = TileContentType.Collectable; tile.pickUp = pickUp; pickUp.manager = this; }
PickUpTier GetTier() { if (tiersProbability.Count == 0) { for (int i = 0; i < tiers.Count; i++) { for (int j = 0; j < tiers[i].rarity; j++) { tiersProbability.Add(tiers[i].tier); } } } int id = Random.Range(0, tiersProbability.Count); RarityTier rarity = tiersProbability[id]; tiersProbability.Remove(rarity); PickUpTier tier = dicTiers[rarity]; return(tier); }