Если вы хотите сохранить различные значения переменных из одного скрипта для различных объектов в Unity, есть несколько подходов, которые можно использовать. Вот некоторые из них:
1. Использование сериализуемых классов:
Вы можете создать отдельный сериализуемый класс, который содержит необходимые переменные, которые нужно сохранить для каждого объекта. После этого вы можете добавить экземпляр этого класса к каждому объекту, в котором хотите сохранить значения переменных. В своем скрипте вы сможете обратиться к этой переменной и присваивать или получать значения.
[System.Serializable] public class ObjectData { public float variable1; public int variable2; } public class YourScript : MonoBehaviour { public ObjectData objectData; private void Start() { // Для каждого объекта, которому нужно сохранить значения // создайте новый экземпляр ObjectData и присвойте его переменной objectData objectData = new ObjectData(); } }
2. Использование компонентов MonoBehavior:
Если компоненты, в которых вы хотите сохранить значения переменных, также являются наследниками класса MonoBehavior, вы можете использовать переменные экземпляра с модификатором доступа "public" или "SerializeField". В этом случае значения будут сохраняться в самом объекте каждого компонента.
public class YourScript : MonoBehaviour { public float variable1; public int variable2; }
3. Использование хранилища данных:
Вы можете создать отдельный класс для хранения значений переменных и использовать его вместо самого скрипта. В этом случае вы сможете получать или изменять значения переменных через этот класс.
public class DataStorage { public float variable1; public int variable2; } public class YourScript : MonoBehaviour { private DataStorage dataStorage; private void Start() { dataStorage = new DataStorage(); } private void Update() { // Получаем значение переменной float value = dataStorage.variable1; // Изменяем значение переменной dataStorage.variable1 = 10f; } }
Каждый из этих подходов имеет свои преимущества и недостатки в зависимости от конкретных требований и контекста вашего проекта. Выберите тот, который лучше всего соответствует вашим потребностям и внедрите его в свою разработку.