Войти
ПрограммированиеФорумОбщее

[Unity] Как лучше получить доступ из одного класса в другой? (2 стр)

Страницы: 1 2
#15
23:28, 23 мая 2019

cNoNim
> instance = null?
readonly же!


#16
(Правка: 23:35) 23:33, 23 мая 2019

ты же вкурсе да, что большая часть unity, в которой ты сейчас пытаешься заюзать lazy thread safe singleton из книжки, однопоточная?

#17
2:58, 24 мая 2019

1. PlayersManager сделать MonoBehavior, и повесить его на какой нить пустой gameobject типа Level
2. сделать наследника от MonoBehavior, скажем MyBehavior , внем написать поле с гетером, в котором при первом обращении найти объект Level, и получить с него PlayersManager
3. все скрипты где нужен доступ к PlayersManager, наследовать от MyBehavior

#18
8:29, 24 мая 2019

cNoNim
> ты же вкурсе да, что большая часть unity, в которой ты сейчас пытаешься заюзать
> lazy thread safe singleton из книжки, однопоточная?
Вкуууурсе, а еще проект для андрооойда и я даже не знаю будет ли оно там рабооотать иии? - заканчивай свою мысль-то Lazy излишен или что?
Вообще я синглтоны практически не использовал, так что пока взял вариант, который поновее.

tac
> 1. PlayersManager сделать MonoBehavior, и повесить его на какой нить пустой
> gameobject типа Level
> 2. сделать наследника от MonoBehavior, скажем MyBehavior , внем написать поле с
> гетером, в котором при первом обращении найти объект Level, и получить с него
> PlayersManager
> 3. все скрипты где нужен доступ к PlayersManager, наследовать от MyBehavior
Ну, как вариант, хотя и не менее велосипедный, чем я предложил.

#19
11:24, 24 мая 2019

smartxp
Ну конечно данные не будут очищаться, ведь unity очищает monobehaviour путем удаления объектов из сцены.
1. Там где нужно, просто вызвать m_Instance = new (), например во время загрузки сцены.
2. Сделать singleton на monobehaviour и повесить его на GO в сцене, которая загружается.

+ Показать

3. Без monobehaviour, но вызвать конструктор в нужный момент.
+ Показать
#20
15:03, 24 мая 2019
Пруфы, плиз.

какие тебе нужны пруфы? Что генерики с кучей проверок и кастингов будут медленней чем тупо ссылка на другой класс?

#21
(Правка: 20:42) 20:41, 24 мая 2019

smartxp
> не менее велосипедный
классика вообще то для ооп, в отличии от структурных синглов

#22
11:47, 25 мая 2019
Как лучше получить хоть какой-то результат в Юнити?
#23
10:26, 26 мая 2019

NyakNyakProduction
Ученье и труд вам в помощь.

#24
12:40, 26 мая 2019

События плохо отлаживать, особенно, когда через какое-то время забываешь свою же архитектуру или тем более, если нужно кому-то разобраться в твоей.
Почему плохо отлаживать, завел енам MyEvent, и второй класс ловит событие с нужным названием, плюс создал кастомарг и можешь передать ему нужный объект, гемобжеки, лист геймобжектов, переменную, все что угодно

#25
12:41, 26 мая 2019

Тем более наоборот будет проще разобраться другому человеку который хоть что то слышал про паттерны проектирования

#26
15:06, 27 мая 2019

Quony
> Почему плохо отлаживать
Самая большая проблема с событиями, когда забываешь отписаться. Можно потратить много времени, прежде чем поймешь в чем дело.

Страницы: 1 2
ПрограммированиеФорумОбщее