Основы C#

Программирование на Юнити.

Основы C#

Сообщение suckduck 30 апр 2020, 13:05

Всем привет!
У меня есть класс Item от него наследуется Weapon. Я создаю коллекцию типа Item и туда в процессе работы попадают предметы типа Item в том числе и Weapon. Мне нужно разбить эту коллекцию на две другие, в одной просто Item во вторую Weapon. Вопрос как понять является ли элемент Item либо же это Weapon? На уме только GetComponent, но думаю у решётки для этого свои способы.
suckduck
UNец
 
Сообщения: 21
Зарегистрирован: 07 сен 2019, 19:56

Re: Основы C#

Сообщение Woland 30 апр 2020, 13:57

Woland
Адепт
 
Сообщения: 1240
Зарегистрирован: 20 апр 2013, 18:09
  • Сайт

Re: Основы C#

Сообщение seaman 30 апр 2020, 16:53

if (item is Weapon) {}
else {}
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Основы C#

Сообщение Xtir 30 апр 2020, 17:22

А если много всяких наследников итемов, то будет if else if else if else и т.д?
Xtir
UNIверсал
 
Сообщения: 498
Зарегистрирован: 21 окт 2016, 00:37

Re: Основы C#

Сообщение Jarico 30 апр 2020, 18:26

Xtir писал(а):А если много всяких наследников итемов, то будет if else if else if else и т.д?


Dictionary?
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Основы C#

Сообщение Tolking 30 апр 2020, 19:38

У тебя недолжно быть просто итем. Должно быть итем и остальные наследуемые от него.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Основы C#

Сообщение seaman 30 апр 2020, 20:18

А если много всяких наследников итемов, то будет if else if else if else и т.д?

Значит что-то не то с архитектурой...
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Основы C#

Сообщение Xtir 30 апр 2020, 20:42

seaman писал(а):
А если много всяких наследников итемов, то будет if else if else if else и т.д?

Значит что-то не то с архитектурой...

Кстати, по ссылке выше там именно такой пример и есть ;)
Xtir
UNIверсал
 
Сообщения: 498
Зарегистрирован: 21 окт 2016, 00:37


Вернуться в Скрипты

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10