как скопировать все значения GetComponent<Script> в другой G

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

как скопировать все значения GetComponent<Script> в другой G

Сообщение Dio5555 07 сен 2018, 19:13

Возможно где то это есть, но когда решил воспользоваться поисковиком, то вылезла ошибка.
Общая ошибка
SQL ERROR [ mysql4 ]
The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay [1104]

Перейдём к делу. Мне нужно скопировать все значение из одного компонента в другой, не плодя кучу строк, под типо этого:

(c#)
transform.GetComponent<Item>().FA1 = 55;
transform.GetComponent<Item>().FA2 = 37;
transform.GetComponent<Item>().FA3 = 55;

у меня есть 1 префаб с дефолт значением

хотелось что бы выглядело как-то так:
(c#)
transform.GetComponent<Item>() = _default.transform.GetComponent<Item>()

Сорян за боян =) и Спасибо за помощь
Dio5555
UNIт
 
Сообщения: 83
Зарегистрирован: 06 сен 2018, 11:05

Re: как скопировать все значения GetComponent<Script> в другой G

Сообщение Anonymyx 07 сен 2018, 19:24

Если вам именно скопировать нужно, то можно создать отдельный метод для копирования значений через рефлексию.
Вот как тут например: https://answers.unity.com/questions/458 ... ntime.html
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: как скопировать все значения GetComponent<Script> в другой G

Сообщение Dio5555 07 сен 2018, 19:35

Ну это похоже, но опять-же, это много писанины, не понимаю почему, вот такой код не работает, хотя 2 скрипта одинаковы в значениях.
То есть нельзя просто, взять и присвоить значение одного компонента под тип этого: GetComponent<Item>() = GetComponent<Item>(), а нужно написать "кучу" кода, чтобы всё заработало.
Dio5555
UNIт
 
Сообщения: 83
Зарегистрирован: 06 сен 2018, 11:05

Re: как скопировать все значения GetComponent<Script> в другой G

Сообщение Anonymyx 07 сен 2018, 19:45

GetComponent<Item>() = GetComponent<Item>()

Item item = go1.GetComponent<Item>();
item = go2.GetComponent<Item>();

Так?
Так как Item - класс, то будет присвоена только ссылка.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: как скопировать все значения GetComponent<Script> в другой G

Сообщение Dio5555 07 сен 2018, 19:57

Спасибо! Чёт смотрю в книгу и нефига не вижу =)))
Dio5555
UNIт
 
Сообщения: 83
Зарегистрирован: 06 сен 2018, 11:05


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], wasp и гости: 18