- Home /
How do I store and access multiple randomly generated characters?
I'm trying to build some sorts of sports manager. I've started messing with scripts to generate one random athlete. That seems to work fine. Now I want this script to generate 10 (or 100) athlete and save each of them somewhere I could access their variable. Then I'll look into assigning these athlete to different teams (container).
I have no idea where to start. Should I make my Generator script make each newly created athlete a new game object? Save it and then store these athlete in a "Free Agent" Array? It seems a bit overkill and messy. I've look at the training on serialization and I see how it will work with the teams and free agent, but I'm kind of stuck at the athlete generation.
Any advice, tips or event start of a solution?
Not really sure how it should be done, but I would just create new class that has all the data that athlete would have and then just create new array or list of this class.
For example (you can remove first line if you don't want it to show in inspector):
[System.Serializable]
public class Athlete
{
public string name;
public int speed;
public int skill;
}
public class Generator : $$anonymous$$onoBehaviour
{
public Athlete[] athletes;
private void Start()
{
athletes = new Athlete[10];
}
public void GenerateAthlete()
{
for(int i = 0; i < athletes.Length; i++)
{
athletes[i].name = "Derp " + i;
athletes[i].speed = Random.Range(5, 20);
athletes[i].skill = Random.Range(5, 20);
}
}
}
Athletes class could also have variable for $$anonymous$$m or boolean that could be checked if they are free for hiring etc.
Your answer
Follow this Question
Related Questions
SerializationException: Type UnityEngine.Vector3 is not marked as Serializable. 1 Answer
Save files for a game 1 Answer
Easy way to save rigidbody state. 1 Answer
Saving Array Objects in Android. 0 Answers
Rotation no save to array 1 Answer