![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 42
|
Привет, возник такой вопрос: как правильно организовать транспорт данных во флешке?
Допустим, у меня есть основной класс, в нем я создаю экземпляр класса Player, в котором держу некие данные, деньги, здоровье и тд. Также, есть экземпляр класса Castle. В нем есть экземпляр класса Treasury. Каким образом мне получить из класса Treasure деньги игрока, которые лежат в классе Player? Если решать в лоб, то получается дурацкая конструкция типа такой: _player = new Player(); _castle = new Castle(_player); _treasury = new Treasury(_player); То есть я передаю ссылку на экземпляр Player из раза в раз по цепочке к самому дальнему классу. И уже в нем я каким-то образом дергаю деньги. Подозреваю, что это неправильно. В какую сторону копать? |
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
можно сделать централизованное хранилище данных, к которому будет иметь доступ как Castle так и Player
__________________
low + |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 42
|
А как это лучше сделать? Я так понимаю, что ссылку на это хранилище все равно надо будет пересылать из класса в класс, не?
|
|
|||||
|
Цитата:
_player:IPlayer = new Player(); _castle:ICastle = new Castle(); _castle.treasury = new Treasury(1000); ... var treasury = _castle.treasury; if (treasury) { _player.money += treasury.value; } P.S. Это отношения, а не реализация. Добавлено через 5 минут Цитата:
__________________
משיח לא בא משיח גם לא מטלפן Последний раз редактировалось alatar; 07.07.2011 в 17:46. |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 42
|
Все равно немного не пойму. Допустим, у меня куча информации лежит в Player. Деньги, слава, девочки. И эту информацию надо дергать из множества далеких классов. Получается, что для каждого кусочка надо выстраивать такие отношения?
|
|
|||||
|
Сейчас все опять скатится к MVC.
Добавлено через 4 минуты Представьте себе почту. У вас есть адресат — Player. Вы ему можете послать деньги, славу, подарить девочку (бандеролью ). И вам не важно, где находитесь вы и где Player. Это знает почта, а вы знаете где находится почта. Вот и получается, что вместо того, что бы Player каждый раз приходил к вам, вы идете на почту и отправляете ему бандерольку, а почта уже доставляет эту бандерольку Player'у.
__________________
משיח לא בא משיח גם לא מטלפן Последний раз редактировалось alatar; 07.07.2011 в 18:01. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:41. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|