Информация: Уважаемые посетители! В течение нескольких месяцев на форуме существовала проблема с регистрацией новых пользователей, о которой администрации стало известно недавно. Если вы ранее пытались зарегистрироваться на форуме, но не получили на ваш e-mail письмо с ссылкой для подтверждения регистрации, просим вас зарегистрироваться повторно. Приносим извинения за доставленные неудобства. Если вы все еще испытываете проблемы с регистрацией на форуме, обратитесь за помощью на e-mail: mr.angelo@railroadsim.net

Аватара пользователя
kemal
 
Сообщения: 374
Зарегистрирован: 10.02.2006, 18:21
Откуда: Казань
Играю в: Auran Trainz
Роль: Разработчик
Имя: Камиль
Блог: Просмотр блога (4)
Архивы
- Май 2012
+ Февраль 2012
+ Январь 2011
+ Октябрь 2010
Поиск в блогах

sme_library

Постоянная ссылка kemal 12.10.2010, 21:30

Очень часто при скриптовании ПС бывает нужно описать свойства всего поезда, а не отдельно взятого вагона. Но вот незадача, в Траинзе не существует пользовательского объекта, который бы был наследником класса Train. Проще говоря, скриптовать мы можем только отдельные вагоны, а не поезда целиком. Ну ладно, раз так, то придётся всё то, что мы собирались реализовывать в MyTrain, реализовать в MyVehicle. Хорошо, допустим реализовали. Но какой из вагонов должен это считать? Ведь будет очень не хорошо если, например, два вагона будут дёргать контроллер каждый в свою сторону. Делать "самый умный" вагон, каждый из которых будет опрашивать всех подряд, тоже не хорошо. Надо бы сделать централизацию. Вот для этого я и задумал sme_library. Это будет либа (одна на всх), которая будт следить за составами и вагонами в них, реагировать на сцепку/расцепку и упростит передачу данных между вагонами, объединёнными в СМЕ.
Всё это здорово, осталось только реализовать)) И вот тут я задумался, а как же это сделать? Например объект "СМЕ" должен иметь список вагонов, чтобы знать кому рассылать сообщения, а объект "вагон" должен ссылаться на СМЕ. Получается, что один из классов должен содержать свойство тип которого описан позже. Большинство языков такого не переваривают, GameScript в их числе. Как быть?

<kuid:216981:******>
куид.ру не нужен
3 комментариев 13586 просмотров
Комментарии

Re: sme_library

Постоянная ссылка ALEX007 06.08.2011, 05:41

Какие из языков програмирования не переваривают? Сделай список, а я посмотрю мабуть что и присоветую.
Паровоз П38 самый паровозный паровоз!
ALEX007
 
Сообщения: 150
Зарегистрирован: 28.06.2011, 14:34
Откуда: Владивосток
Играю в: Auran Trainz
Роль: Пассажир :)
Имя: Алексей
Блог: Просмотр блога (1)

Re: sme_library

Постоянная ссылка Эрендир 22.11.2011, 10:12

Для реализации СМЕТ вообще нафиг не нужно делать одельную библиотеку и заниматься рассылкой каких либо сообщений. Твой вариант из серии "Как бы мне всё усложнить".
Аватара пользователя
Эрендир
 
Сообщения: 121
Зарегистрирован: 04.05.2005, 16:15
Откуда: От туда...
Играю в: Auran Trainz
Имя: Алексей
Блог: Просмотр блога (0)

Re: sme_library

Постоянная ссылка kemal 02.02.2012, 02:35

Эрендир, согласен с тобой, что в таком виде оно ведёт к усложнению. Как пример - в реальности никаких объединяющих библиотек нет и всё работает. Но толи я чего-то недопонимаю в СМЕ, толи действительно без внешнего вмешательства всё не разрулить... Вобщем, заскриптовать вагон у меня не получилось.
ALEX007, имелась в виду такая ситуация:
Код: Выделить всё
class sme{
 MyVehicle[] Vehicles;
}
class MyVehicle{
 sme MyTrain;
}

или наоборот:
Код: Выделить всё
class MyVehicle{
 sme MyTrain;
}
class sme{
 MyVehicle[] Vehicles;
}

компилятор такое не пропустит. Конечно, можно было бы извратиться и наследоваться от какого-нибудь одного класса, но по моему это уже не актуально.
<kuid:216981:******>
куид.ру не нужен
Аватара пользователя
kemal
 
Сообщения: 374
Зарегистрирован: 10.02.2006, 18:21
Откуда: Казань
Играю в: Auran Trainz
Роль: Разработчик
Имя: Камиль
Блог: Просмотр блога (4)

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

Зарегистрированные пользователи: Alexa [Bot], Bing [Bot], Google [Bot], Yahoo [Bot], Yandex [Bot]