Question by 
               boss2070301 · Jul 25, 2021 at 03:35 AM · 
                blockbreak  
              
 
              I need help writing a code that chooses between 4 kinds of blocks
Right now I trying to make a random level generator for my block breaker game that I made a while back following a udemy course.
I need the script to choose between 5 types of blocks (No block, 1 hit block, 2 hit block, 3 hit block, and indestructible block)
I put the block code below
   [SerializeField] AudioClip breakSound;
     [SerializeField] GameObject blockSparklesVFX;
     [SerializeField] Sprite[] hitSprites;
 
     // cached reference
     LevelChanger levelChanger;
 
     [SerializeField] int timesHit;
     public GameObject BlockSparklesVFX { get => blockSparklesVFX; set => blockSparklesVFX = value; }
 
     private void Start()
     {
         CountBreakableBlocks();
     }
 
     private void CountBreakableBlocks()
     {
         levelChanger = FindObjectOfType<LevelChanger>();
         if (tag == "Breakable")
         {
             levelChanger.CountBlocks();
         }
     }
 
     private void OnCollisionEnter2D(Collision2D collision)
     {
         if (tag == "Breakable")
         {
             HandleHit();
         }
     }
 
     private void HandleHit()
     {
         timesHit++;
         int maxHits = hitSprites.Length + 1;
         if (timesHit >= maxHits)
         {
             DestroyBlock();
         }
         else
         {
             ShowNextHitSprites();
         }
     }
 
     private void ShowNextHitSprites()
     {
         int spriteIndex = timesHit - 1;
         if (hitSprites[spriteIndex] != null)
         {
             GetComponent<SpriteRenderer>().sprite = hitSprites[spriteIndex];
         }
         else
         {
             Debug.LogError("Block sprite is missing from array" + gameObject.name);
         }
     }
 
     private void DestroyBlock()
     {
         Destroy(gameObject);
         levelChanger.BlockDestroyed();
         TriggerSparklesVFX();
         FindObjectOfType<GameStatus>().AddToScore();
         SoundEffects();
     }
 
     private void SoundEffects()
     {
             AudioSource.PlayClipAtPoint(breakSound, Camera.main.transform.position);
     }
 
     private void TriggerSparklesVFX()
     {
         GameObject sparkles = Instantiate(blockSparklesVFX, transform.position, transform.rotation);
         Destroy(sparkles, 1f);
     }
 
              
               Comment
              
 
               
              Your answer