Как редактировать Scriptable Object
Допустим у меня на сцене у меня есть кнопка Update. Когда игрок нажмет ее, я хочу, чтобы некоторые мои Scriptable Object с настройками поменяли некоторые свои поля(данные я загружаю из облака).
Вот что я пробовал:
StramReader r = new StreamReader("path");
string[] s = r.ReadToEnd().Split(';');
EssenceData e = Resources.Load<EssenceData>($"DATA's/Essences/{s[1]}");
e.Name = s[1];
e.Description = s[3];
e.Lives = int.Parse(s[4]);
e.Attack = int.Parse(s[5]);
e.Defence = int.Parse(s[6]);
...
r.CLose()
Вот только потом я прочитал, что нельзя изменять Scriptable Object во время исполнения. Тогда что же мне делать?
P.S. Я в этом еще очень плохо разбираюсь, поэтому мой вопрос наверняка окажется глупым. Не судите меня строго
Ответы (1 шт):
Автор решения: Some_ Person
→ Ссылка
Если поместить код "обновления" в метод самого класса Scriptable Object и вызывать его то все работает:
public class EssenceData : ScriptableObject
{
public string Name;
public string Description;
public int Lives;
public int Attack;
public int Defence;
...
public void _Update(string[] s){
Name = s[1];
Description = s[3];
Lives = int.Parse(s[4]);
Attack = int.Parse(s[5]);
Defence = int.Parse(s[6]);
...
}
}