RailUnion.net | |
http://railunion.net/blog/ALEX007/Re_sme_library_r-615_sid-0730b8b7916ce3214434ab2f683131d1.html |
Автор: | kemal [ 12.10.2010, 21:30 ] |
Тема блога: | sme_library |
Очень часто при скриптовании ПС бывает нужно описать свойства всего поезда, а не отдельно взятого вагона. Но вот незадача, в Траинзе не существует пользовательского объекта, который бы был наследником класса Train. Проще говоря, скриптовать мы можем только отдельные вагоны, а не поезда целиком. Ну ладно, раз так, то придётся всё то, что мы собирались реализовывать в MyTrain, реализовать в MyVehicle. Хорошо, допустим реализовали. Но какой из вагонов должен это считать? Ведь будет очень не хорошо если, например, два вагона будут дёргать контроллер каждый в свою сторону. Делать "самый умный" вагон, каждый из которых будет опрашивать всех подряд, тоже не хорошо. Надо бы сделать централизацию. Вот для этого я и задумал sme_library. Это будет либа (одна на всх), которая будт следить за составами и вагонами в них, реагировать на сцепку/расцепку и упростит передачу данных между вагонами, объединёнными в СМЕ. Всё это здорово, осталось только реализовать)) И вот тут я задумался, а как же это сделать? Например объект "СМЕ" должен иметь список вагонов, чтобы знать кому рассылать сообщения, а объект "вагон" должен ссылаться на СМЕ. Получается, что один из классов должен содержать свойство тип которого описан позже. Большинство языков такого не переваривают, GameScript в их числе. Как быть? |
Автор: | ALEX007 [ 06.08.2011, 05:41 ] |
Какие из языков програмирования не переваривают? Сделай список, а я посмотрю мабуть что и присоветую. |
Автор: | Эрендир [ 22.11.2011, 10:12 ] |
Для реализации СМЕТ вообще нафиг не нужно делать одельную библиотеку и заниматься рассылкой каких либо сообщений. Твой вариант из серии "Как бы мне всё усложнить". |
Автор: | kemal [ 02.02.2012, 02:35 ] |
Эрендир, согласен с тобой, что в таком виде оно ведёт к усложнению. Как пример - в реальности никаких объединяющих библиотек нет и всё работает. Но толи я чего-то недопонимаю в СМЕ, толи действительно без внешнего вмешательства всё не разрулить... Вобщем, заскриптовать вагон у меня не получилось. ALEX007, имелась в виду такая ситуация:
или наоборот:
компилятор такое не пропустит. Конечно, можно было бы извратиться и наследоваться от какого-нибудь одного класса, но по моему это уже не актуально. |
Часовой пояс: UTC + 4 часа | |
Powered by phpBB © 2002, 2006 phpBB Group www.phpbb.com |
Blogs powered by User Blog Mod © EXreaction www.lithiumstudios.org |