Me gustaría obtener un valor de una lista serializada que se encuentra en otro script. ¿Cómo puedo hacer eso? Esta es mi lista:
[System.Serializable] public class Level { public string Name; public Sprite Icon; public bool Unlocked; public bool Interactable; } public List<Level> levelList = new List<Level>();Primero debe poner su lista dentro del alcance de la clase de esta manera:
using System.Collections.Generic; using UnityEngine; [System.Serializable] public class Level { public List<Level> levelList = new List<Level>(); //List inside the class public string Name; public Sprite Icon; public bool Unlocked; public bool Interactable; } En su clase de acceso, debe tener una variable de clase para poder acceder a esa instancia de nivel. Luego, en algún lugar, obtenga la lista de esa instancia de nivel, como por ejemplo en el Start del código a continuación.
using System.Collections.Generic; using UnityEngine; public class ListGetter : MonoBehaviour { public Level level; private List<Level> levelList; void Start() { levelList = level.levelList; //get level list } } Debería definir cómo se crea su instancia de Level y la clase que contiene la instancia de la clase para proporcionar una forma más precisa de acceder a levelList de su instancia de Level , que creo que es lo que está preguntando.