кабину не трогаем - это святое.
совсем это уже не святое... Нет, было бы время, расписал бы свой ELCv2 "по полочкам", там все основные элементы (и браузер, и передача инфы "кабина-лок" через базу данных "CabineData" в обоих направлениях есть, и обработка клавиш... Единственное чего там нет - взаимодействия между локами)
Скрипт(ы - их всего 3 ) этот ОТКРЫТ!!!! ОТКРЫВАЕТСЯ блокнотом. Находится тут
http://file002r.mylivepage.ru/chunk2/97 ... %2B394.rar (вместе с "вагоном-лабораторией", в которой самый простой браузер, который только можно придумать)
Скриптовать "наезд" вагона на стрелку можно 2 способами -
1) поставить хендлер на стрелку (ловля мессаджа от состава), котрый определяет источник мессаджа (т.е. поезд), ищет в нём нужный вагон и, например, открывает "public void function120()" , описанной в вагоне (либо "лично" пересылает вагону месседж, а вагон своим хендлером его ловит)
2) ставить "дистанционно" хендлер на поезд (ловля мессаджа от стрелки), и вызывать процедуру вагона. Единственная проблема - при расцепке и сцепке объект "поезд" удаляется, и хендлер на "новообразовавшийся поезд" надо вешать заново.
А вообще мессаги (месседжи) такие -
(части месседжа_____объект-источник__объект назначения)
Major | Minor | Source | Destination
"Junction" | "Toggled" | junction | broadcast ("рассылка" всем объектам при переводе стрелки)
"Junction" | "InnerEnter" | junction | train
"Junction" | "Enter" | junction | train (высылается стрелкой тому поезду, который наехал)
"Junction" | "Stopped" | junction | train
"Junction" | "InnerLeave" | junction | train
"Junction" | "Leave" | junction | train
"Object" | "InnerEnter" | train | junction
"Object" | "Enter" | train | junction (высылается наехавшим поездом стрелке)
"Object" | "Stopped" | train | junction
"Object" | "InnerLeave" | train | junction
"Object" | "Leave" | train | junction