- Home /
The question is answered, right answer was accepted
Setting a game object from a list to be the active character that gets instantiated
I'm trying to make a character selection screen where clicking (or tapping) on the characters make that the active character so when the game is started that character prefab is instantiated.
What i have tried to do is make a list of the prefabs, the have an "activeCharacter" variable. Then by clicking or tapping on a character, the activeCharacter should then be set to one of the objects in the list. Its the last par that is the problem i cannot see how to set one of the prefabs in the list to be the active character.
I'm not sure if its a logic problem or just that i cannot find the correct way to code it.
Here is the method that will be on a button in the character selection screen:
public void SelectGreenCharacter()
{
spawner = GameObject.Find("Spawner").GetComponent<Spawner>();
spawner.activeCharacter = spawner.characters; //this is where i get stuck
}
And here is the bit where i create a list of character prefabs on a "spawner" script:
[System.Serializable]
public class Characters
{
public GameObject prefab;
}
public List characters;
Just to clarify the character selection screen is in the main menu so you pick a character before you hit play, not sure if that matters. Hopefully i have explained well enough but i can answer questions if needed.
I'm sorry i cannot figure out how to lay the code out properly in the forum.
Answer by tormentoarmagedoom · Feb 02, 2019 at 04:55 PM
Good day.
You only need to make a script that will not be destroyed whens cene changes, that stores the variable of the selecter character in some way, a integrer or a string, or even a class.
To learn hot to transfer data between scenes, please watch Unity official tutorial. You need to learn how to use the DontdetroyOnLoad function.
https://unity3d.com/learn/tutorials/topics/scripting/persistence-saving-and-loading-data
Good luck!
Follow this Question
Related Questions
[Solved]Instantiating prefab from a script and destroy it from another one 2 Answers
moving starfield with gameobject prefab list 1 Answer
Access variable from script on other gameobject. 1 Answer
How to find all similar elements in a list? 1 Answer
How can I modify a variable on an instance of a prefab after I created it? 2 Answers