Я чего-то недопонимаю в работе корутин? [РЕШЕНО]

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

Re: Я чего-то недопонимаю в работе корутин?

Сообщение LordWerewolf 23 мар 2017, 00:35

Да... вообще-то он изначально так и был определен. Это уже в процессе извращения и головоломания я стал определять connect в самой функции. Врятли проблема в этом, потому как код даже не заходит в корутину. Если Вы заметили, то первая строчка в корутине - Debug.Log("Подключаем сокет..."); , но в консоли это сообщение не появляется. Так что до yield код никак не доберется...
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

Re: Я чего-то недопонимаю в работе корутин?

Сообщение LordWerewolf 23 мар 2017, 00:48

а проверял вот так:
http://www.picshare.ru/view/7990367/
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

Re: Я чего-то недопонимаю в работе корутин?

Сообщение seaman 23 мар 2017, 09:48

Это Моно? Вам не смущает null на картинке?
Ну и все же перестаньте создавать MonoBehaviour скрипты через new!
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Я чего-то недопонимаю в работе корутин?

Сообщение LordWerewolf 23 мар 2017, 11:03

Это визуал студио. Я код в нем пишу. Как видно на картинке, connect не пустой и является экземпляром ConnectToServer. А строка null, которую Вы упомянули, это строка возвращает ответ от сервера. Она может быть пустой - пока сервер молчит. Проблема точно не в ней.

P.S./... и что криминального в создании через new?
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

Re: Я чего-то недопонимаю в работе корутин?

Сообщение seaman 23 мар 2017, 15:05

и что криминального в создании через new?

То что это четко прописано в мануале:
your code will never directly create a Component. Instead, you write script code, and attach the script to a GameObject

https://docs.unity3d.com/ScriptReference/Component.html
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Я чего-то недопонимаю в работе корутин?

Сообщение LordWerewolf 23 мар 2017, 15:45

Понятно. Как-то я это проглядел.
Как же мне тогда создать новый экземпляр и передать в его конструктор определенные данные, если ни new ни конструктором в скриптах пользоваться нельзя? :-?
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

Re: Я чего-то недопонимаю в работе корутин?

Сообщение DbIMok 23 мар 2017, 15:49

убрать наследование от MonoBehaviour
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Я чего-то недопонимаю в работе корутин?

Сообщение LordWerewolf 23 мар 2017, 16:08

а если в этом скрипте есть функции вызывающие корутины, то без привязки к MonoBehaviour их будет нельзя запустить?
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

Re: Я чего-то недопонимаю в работе корутин?

Сообщение seaman 23 мар 2017, 16:20

Прикрепляйте скрипт к объекту в сцене AddComponent
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Я чего-то недопонимаю в работе корутин?

Сообщение LordWerewolf 23 мар 2017, 17:23

seaman писал(а):Прикрепляйте скрипт к объекту в сцене AddComponent

Это я в курсе, я не совсем понимаю как передать параметры этому объекту... Ну вот например:
В C# нужно создать экземпляр объекта User с входными данными (имя, фамилия, пол, возраст и т.д.) Причем создается этот экземпляр только после получения этих входных параметров с сервера.
тоесть как-то так:
Синтаксис:
Используется csharp
Class User
{
public User(string name, string secondname, char pol, byte age);
}
//... и создаем юзера
User user = new User("Вася", "Пупкин", 'm', 20);
 


Как в юньке сделать подобное? Перетащить скрипт User на пустой объект в сцене? Ну создаст он экземпляр, но пустой, без параметров. Или при получении параметров от сервера нужно будет сделать Instance этого экземпляра и затем вручную указать для каждого параметра полученные данные с севера? Как-то это замудренно слишком...
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

Re: Я чего-то недопонимаю в работе корутин?

Сообщение seaman 23 мар 2017, 18:10

Синтаксис:
Используется csharp
public class User : MonoBehaviour
{
   private string __name;
   private string __family;
   private bool __gender;
   private int __age;

   public void Init(string name, string family, bool gender, int age)
   {...}
}
...
GameObject users;

var user = users.AddComponent<User>();
user.Init("Вася", "Пупкин", tru, 20);
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Я чего-то недопонимаю в работе корутин?

Сообщение Tolking 23 мар 2017, 19:20

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

Re: Я чего-то недопонимаю в работе корутин?

Сообщение LordWerewolf 23 мар 2017, 19:34

Спасибо, буду знать. А как быть с переходом на новую сцену? В каждой сцене создавать новый объект со скриптом или можно как-то перенести старый в другую сцену? Или вообще использовать его как static? Вообще при переходе в другую сцену объекты со старой убиваются или остаются в памяти и к ним можно обратиться?
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

Re: Я чего-то недопонимаю в работе корутин?

Сообщение LordWerewolf 23 мар 2017, 19:36

Tolking писал(а):Не нужно этот класс делать компонентом!

Почему? Вроде логично...
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

Re: Я чего-то недопонимаю в работе корутин?

Сообщение LordWerewolf 23 мар 2017, 20:10

Чтож, я избавился от монобех, вызванных new, но корутина все равно не запускается больше 1 раза. В чем еще может быть проблема? :-?
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

Пред.След.

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

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

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