Advertisement
Frostyy22

Untitled

May 12th, 2024
706
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.35 KB | None | 0 0
  1. using System.Collections.Generic;
  2. using UnityEngine;
  3.  
  4. public class GameManager : MonoBehaviour
  5. {
  6.     [Header("Game Settings")]
  7.     [Space]
  8.     [SerializeField] private GameObject[] spawnPoints;
  9.     [SerializeField] private GameObject[] obstacles;
  10.     [SerializeField] private float timeBetweenSpawns;
  11.  
  12.     private float timer;
  13.  
  14.     void Update()
  15.     {
  16.         timer += Time.deltaTime;
  17.  
  18.         if (timer > timeBetweenSpawns)
  19.         {
  20.             timer = 0;
  21.  
  22.             List<int> numbers = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7 };
  23.             List<int> result = new List<int>();
  24.  
  25.             for (int i = 0; i < 6; i++)
  26.             {
  27.                 if (numbers.Count == 0)
  28.                 {
  29.                     break;
  30.                 }
  31.  
  32.                 int index = Random.Range(0, numbers.Count);
  33.                 result.Add(numbers[index]);
  34.                 numbers.RemoveAt(index);
  35.  
  36.                 GameObject obstaclePrefab = obstacles[Random.Range(0, obstacles.Length)];
  37.  
  38.                 if (numbers.Count > 0)
  39.                 {
  40.                     int spawnPointIndex = numbers[Random.Range(0, numbers.Count)];
  41.                     Instantiate(obstaclePrefab, spawnPoints[spawnPointIndex].transform.position, Quaternion.identity);
  42.                     numbers.RemoveAt(spawnPointIndex);
  43.                 }
  44.             }
  45.         }
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement