@SushkaCraft

Как удалить объект из массива и точку его появления после генерации?

Как реализовать удаление объектов и их точек спавна из массива?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RandomGen : MonoBehaviour
{
    public List<Transform> spawnPoints = new List<Transform>();
    public List<GameObject> roomPrefabs = new List<GameObject>();
    public int amountRoom = 5;

    void Start()
    {
        SpawnRooms();
    }
    private void SpawnRooms(){
        for (int i = 0; i < amountRoom; i++)
        {
            Transform spawnPoint = GetRandomSpawnPoint();
            GameObject Room = SpawnRoom(spawnPoint);
        }

    }
    private Transform GetRandomSpawnPoint()
    {
        return spawnPoints[Random.Range(0, spawnPoints.Count)];
    }

    private GameObject SpawnRoom(Transform spawnPoint)
    {
        var prefab = roomPrefabs[Random.Range(0, roomPrefabs.Count)];
        return Instantiate(prefab, spawnPoint.position, spawnPoint.rotation);
    }
}

Делаю игру, где каждый раз при входе в нее генерируется "дом" из разных комнат, но проблема в том, что некоторые комнаты могу появляться на одних и тех же местах, из-за чего нельзя попасть в другие локации, т.к. блокируются проходы к другим локациям, и так же могу появляться одинаковые комнаты.
Вопрос - Как после генерации одной комнаты удалять ее из массива и так же удалять точку спавна, на которой она сгенерировалась?
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы