so im making this game where the player has a category and the enemies/obstacles appear with a word that may or may not be in that category the player must run into the one that matches their category and earn points. and if they run into one that doesn’t they lose a life or points
anywhay the way i was doing this is by having the enemy grab a word from a list
using this
int setIndex = Random.Range(0, vocab.keywordSets.Count - 1);
int wordIndex = Random.Range(0, vocab.keywordSets[setIndex].Count - 1);
string randomWord = vocab.keywordSets[setIndex][wordIndex];
enemyText.text = (randomWord);
and i shuffled that list using this code
public void Shuffle()
{
keywordset1.
for (int i = 0; i < keywordset1.Count; i++)
{
string temp = keywordset1[i];
int randomIndex = Random.Range(i, keywordset1.Count);
keywordset1[i] = keywordset1[randomIndex];
keywordset1[randomIndex] = temp;
}
for (int i = 0; i < keywordset2.Count; i++)
{
string temp = keywordset2[i];
int randomIndex = Random.Range(i, keywordset2.Count);
keywordset2[i] = keywordset2[randomIndex];
keywordset2[randomIndex] = temp;
}
for (int i = 0; i < keywordset3.Count; i++)
{
string temp = keywordset3[i];
int randomIndex = Random.Range(i, keywordset3.Count);
keywordset3[i] = keywordset3[randomIndex];
keywordset3[randomIndex] = temp;
}
for (int i = 0; i < keywordset4.Count; i++)
{
string temp = keywordset4[i];
int randomIndex = Random.Range(i, keywordset4.Count);
keywordset4[i] = keywordset4[randomIndex];
keywordset4[randomIndex] = temp;
}
for (int i = 0; i < keywordset5.Count; i++)
{
string temp = keywordset5[i];
int randomIndex = Random.Range(i, keywordset5.Count);
keywordset5[i] = keywordset5[randomIndex];
keywordset5[randomIndex] = temp;
}
for (int i = 0; i < keywordSets.Count; i++)
{
List<string> temp = keywordSets[i];
int randomIndex = Random.Range(i, keywordSets.Count);
keywordSets[i] = keywordSets[randomIndex];
keywordSets[randomIndex] = temp;
}
}
but then i got some advice that using a hashset would be more effecient for big list like the one i have
so i decided to switch to it
and then i got hit with a "Cannot apply indexing with [ ] to an expression of type ‘Hashset’
so i cant use the same methods for the hashset like i did with the list
so how do i remedy/shuffle a hashset?