// Selects a scroll type private GameObject selectScroll(ScrollSpawnPoint s) { int color = Random.Range(1, 10); if (color < s.bluePercent) { return(scrollPrefab2); } else if (color < s.greenPercent) { return(scrollPrefab4); } else if (color < s.yellowPercent) { return(scrollPrefab3); } else { return(scrollPrefab1); } }
// Clears n from taken list of scroll spawns and spawns new essence at non-n spawn public void NotifyCollectedScroll(int n) { lock (lockObj2) { IList <ScrollSpawnPoint> tempScrollSpawnPoints = new List <ScrollSpawnPoint>(scrollSpawnPoints); for (int i = 0; i < takenScrollSpawns.Count; i++) { for (int j = 0; j < tempScrollSpawnPoints.Count; j++) { if (tempScrollSpawnPoints[j].number == takenScrollSpawns[i]) { tempScrollSpawnPoints.RemoveAt(j); break; } } } ScrollSpawnPoint selectedSpawn = tempScrollSpawnPoints[Random.Range(0, tempScrollSpawnPoints.Count)]; GameObject newScroll = Instantiate(selectScroll(selectedSpawn), selectedSpawn.position, Quaternion.identity) as GameObject; newScroll.GetComponent <SpellScroll>().SetSpawnDetails(gameObject, selectedSpawn.number); takenScrollSpawns.Add(selectedSpawn.number); takenScrollSpawns.Remove(n); } }