using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; public class ItemQuest : MonoBehaviour { public GameObject itemSpawn; public void SpawnItems(List validNodeObjects, int jumlahItem, GameObject startNode) { if (validNodeObjects == null || validNodeObjects.Count == 0) return; List spawnCandidates = new List(validNodeObjects); spawnCandidates.RemoveAll(n => Vector3.Distance(n.transform.position, startNode.transform.position) < 0.01f); GameObject lastNode = validNodeObjects[validNodeObjects.Count - 1]; spawnCandidates.Remove(lastNode); for (int i = 0; i < jumlahItem && spawnCandidates.Count > 0; i++) { int index = Random.Range(0, spawnCandidates.Count); GameObject chosenNode = spawnCandidates[index]; GameObject item = Instantiate(itemSpawn, chosenNode.transform); item.transform.localPosition = Vector3.zero; spawnCandidates.RemoveAt(index); } } }