Как загружать данные из разных вариантов Scriptable Object?
Добавлено: 18 авг 2018, 00:17
Я только начал своё знакомство с Unity и с программированием в целом, поэтому возможно мой вопрос покажется очевидным, но всё же...
Я создал Scriptable Object enemy, содержащий несколько переменных. Затем я создал несколько вариантов данного объекта, установив в каждом различные значения данных переменных. Теперь я могу выводить значения этих переменных в текстовом поле, если загружаю вручную через инспектор какой-либо из созданных вариантов. Всё отлично работает.
Вопрос в следующем: Как, вместо того чтобы загружать разные варианты enemy в инспекторе вручную, менять их на ходу через скрипт, например, при нажатии на кнопку?
То есть, при нажатии, скажем, пробела из папки ассетов в поле enemy вместо условного enemy1 загружался условный enemy2, и, как следствие, переменные принимали бы значения, прописанные в варианте enemy2?
Я создал Scriptable Object enemy, содержащий несколько переменных. Затем я создал несколько вариантов данного объекта, установив в каждом различные значения данных переменных. Теперь я могу выводить значения этих переменных в текстовом поле, если загружаю вручную через инспектор какой-либо из созданных вариантов. Всё отлично работает.
Синтаксис:
Используется csharp
public class TestLinks : MonoBehaviour {
public Enemy enemy;
public string Enemyname;
public Button testButton;
public Text testText;
}
void Start() {
Enemyname = enemy.name;
}
public void Onclick()
{
testText.text = "Enemy's name is" + Enemyname;
}
public Enemy enemy;
public string Enemyname;
public Button testButton;
public Text testText;
}
void Start() {
Enemyname = enemy.name;
}
public void Onclick()
{
testText.text = "Enemy's name is" + Enemyname;
}
Вопрос в следующем: Как, вместо того чтобы загружать разные варианты enemy в инспекторе вручную, менять их на ходу через скрипт, например, при нажатии на кнопку?
То есть, при нажатии, скажем, пробела из папки ассетов в поле enemy вместо условного enemy1 загружался условный enemy2, и, как следствие, переменные принимали бы значения, прописанные в варианте enemy2?