Size: a a a

2020 April 21

YK

Yevhen Kazmin in unity3d.ru
можно попробовать нужные зависимости в скрипты пропертями передавать
источник

YK

Yevhen Kazmin in unity3d.ru
тогда четко понятно к кому скрипт обращается
источник

YK

Yevhen Kazmin in unity3d.ru
в рамках сцены можно создать пустой обьект, на него повесить скрипт StateManager (например) которые будет уметь состояние хранить и пусть даже простые методы getState,  setState как выше предлагали. Потом где надо в скриптах делаем проперти
public StateManager stateManager;
и просто в редакторе проставляем его
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
Yevhen Kazmin
можно попробовать нужные зависимости в скрипты пропертями передавать
свойства тяжёлые сами по себе, представь если каждый скрипт будет иметь свойство по обращению к 5-6 другим скриптам, и так к примеру придется между 4 скриптами строить 6 связей строить, либо цепочкой передавать из одного в другой, а если нужно сначала в одном обработать, а потом в предыдущем? выйдет, что придется кэшировать большие объемы памяти
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
Yevhen Kazmin
в рамках сцены можно создать пустой обьект, на него повесить скрипт StateManager (например) которые будет уметь состояние хранить и пусть даже простые методы getState,  setState как выше предлагали. Потом где надо в скриптах делаем проперти
public StateManager stateManager;
и просто в редакторе проставляем его
ну, синглентон это и делает
источник

YK

Yevhen Kazmin in unity3d.ru
синглтон для стейта это моветон
источник

YK

Yevhen Kazmin in unity3d.ru
почему свойства тяжелые? это ж просто ссылка на класс
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
Yevhen Kazmin
в рамках сцены можно создать пустой обьект, на него повесить скрипт StateManager (например) которые будет уметь состояние хранить и пусть даже простые методы getState,  setState как выше предлагали. Потом где надо в скриптах делаем проперти
public StateManager stateManager;
и просто в редакторе проставляем его
получается, что данный синглентон есть той самой стейтмашиной
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
Yevhen Kazmin
почему свойства тяжелые? это ж просто ссылка на класс
в оптимизации .net советую избегать свойств
источник

RM

Roman Mindiashvili in unity3d.ru
Aidan Arcueid D'athemon
свойства тяжёлые сами по себе, представь если каждый скрипт будет иметь свойство по обращению к 5-6 другим скриптам, и так к примеру придется между 4 скриптами строить 6 связей строить, либо цепочкой передавать из одного в другой, а если нужно сначала в одном обработать, а потом в предыдущем? выйдет, что придется кэшировать большие объемы памяти
Свойства создают лишний вызов с соответствующими последствиями. Но говорить, что они сложные в корне неверно
источник

ЯС

Ярослав Сергеев... in unity3d.ru
Aidan Arcueid D'athemon
в оптимизации .net советую избегать свойств
это именно в юнити? впервые слышу такое с точки зрения дотнета. Любой POCO объект через проперти делается
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
Roman Mindiashvili
Свойства создают лишний вызов с соответствующими последствиями. Но говорить, что они сложные в корне неверно
я говорила "тяжелее"
источник

YK

Yevhen Kazmin in unity3d.ru
Aidan Arcueid D'athemon
в оптимизации .net советую избегать свойств
лол, компилятор раскрывает свойство в поле и методы геттер и сеттер, нету оверхеда
источник

ЯС

Ярослав Сергеев... in unity3d.ru
Aidan Arcueid D'athemon
я говорила "тяжелее"
"свойства тяжёлые сами по себе" вполне однозначно😝
источник

YK

Yevhen Kazmin in unity3d.ru
а в юнити для зависимостей вообще поля используются
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
Ярослав Сергеев
это именно в юнити? впервые слышу такое с точки зрения дотнета. Любой POCO объект через проперти делается
memory management .net under the hood, на 5ой или 7ой странице написано
источник

ЯС

Ярослав Сергеев... in unity3d.ru
Aidan Arcueid D'athemon
memory management .net under the hood, на 5ой или 7ой странице написано
в общем, в мире именно дотнета так никто не делает, все юзают свойства
источник

ЯС

Ярослав Сергеев... in unity3d.ru
конкретно в юнити не знаю, в ней нет продакшен опыта
источник

RM

Roman Mindiashvili in unity3d.ru
Yevhen Kazmin
в рамках сцены можно создать пустой обьект, на него повесить скрипт StateManager (например) которые будет уметь состояние хранить и пусть даже простые методы getState,  setState как выше предлагали. Потом где надо в скриптах делаем проперти
public StateManager stateManager;
и просто в редакторе проставляем его
Не вижу особой разницы между этим и синглтоном
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
Yevhen Kazmin
а в юнити для зависимостей вообще поля используются
да, поля это хорошо, я их и так часто юзаю, однако переодично возникает проблема того, что в одном скрипте нужно одно значение, которое нужно раскидать по 10 другим скриптам
источник