//model wykolejnicy elektrycznej lewej z napedem i latarnia po lewej
//Autor @Łapka
//param: nazwa toru na ktorym wykolejnica jest zalozona, x, z, y, kat, podsypka

origin (p2) (p3) (p4)
rotate 0 (p5) 0
node 800 0 (p1)_wk_el model 0 0 0 0 kolejowe/wyk_elektr_1L_NL_LL.t3d (p6) lights 3 endmodel

//eventlaucher t/T
node -1 0 (p1) eventlauncher 0 0 0 3.0 t 0 (p1)z (p1)_ms2 end

event (p1)_dzwiek2 sound 0.0 (p1)_dzwiek2 1 endevent
event (p1)_dzwiek1 sound 0.0 (p1)_dzwiek1 1 endevent

node 50 0 (p1)_dzwiek2 sound 0 0 0 24150]wykolejnica_otwarcie_1.wav endsound
node 50 0 (p1)_dzwiek1 sound 0 0 0 24150]wykolejnica_zamkniecie_1.wav endsound

//animacje
event (p1)_Wz2 animation 0.5 (p1)_wk_el rotate czesc_ruchoma 0 90 0 100 endevent
event (p1)_Wz1 animation 0.65 (p1)_wk_el rotate czesc_ruchoma 0 0 0 200 endevent

event (p1)_suwakb2 animation 0.47 (p1)_wk_el rotate suwakb 0 -12.5 0 20 endevent
event (p1)_suwakb1 animation 0.62 (p1)_wk_el rotate suwakb 0 0 0 125 endevent

event (p1)_latarnia2 animation 0.9 (p1)_wk_el rotate latarnia 0 0 -90 200 endevent
event (p1)_latarnia1 animation 0.9 (p1)_wk_el rotate latarnia 0 0 0 150 endevent


event (p1)_mechanizm2 animation 0.77 (p1)_wk_el rotate mechanizm 25 0 0 140 endevent
event (p1)_mechanizm1 animation 0.77 (p1)_wk_el rotate mechanizm 0 0 0 140 endevent

event (p1)_suwakc2 animation 0.77 (p1)_wk_el translate suwakc 0 0.075 0 0.6 endevent
event (p1)_suwakc1 animation 0.77 (p1)_wk_el translate suwakc 0 0 0 0.6 endevent


//event (p1)b_Wz2 animation 0.5 (p1)b_wk_tymczasowa rotate czesc_ruchoma 0 90 0 100 endevent
//event (p1)b_Wz1 animation 0.5 (p1)b_wk_tymczasowa rotate czesc_ruchoma 0 0 0 100 endevent

//komórka jak dla sygnalizatora
node -1 0 (p1)_sem_mem memcell 0 0 0 SetVelocity 0.0 0.0 none endmemcell

//zdarzenia określajace predkość
event (p1)_sem_info_z1 updatevalues 0 (p1)_sem_mem SetVelocity 0 0 endevent
event (p1)_sem_info_z2 updatevalues 1 (p1)_sem_mem ShuntVelocity 20 0 endevent

//odczyt jak dla Tm - od strony toru zakończonego wykolejnicą
event (p1)_sem_info getvalues 0 (p1)_sem_mem endevent

//wykolejanie
//event (p1)_stop switch 0 (p1) 1 endevent
//event (p1)_v20 switch 2 (p1) 0 endevent
//event (p1)_zamknij_onstart multiple 0 none (p1)_stop endevent //wykolejanie na starcie w stanie zasadniczym

//procedury sterujące
event (p1)z multiple 0 none (p1)_dzwiek1 (p1)_Wz1 (p1)b_Wz1 (p1)_suwakb1 (p1)_latarnia1 (p1)_mechanizm1 (p1)z1 endevent //zamknięcie
event (p1)z1 multiple 0 none (p1)_sem_info_z1 endevent //zamknięcie
event (p1)o multiple 0 none (p1)_dzwiek2 (p1)_Wz2 (p1)b_Wz2 (p1)_suwakb2 (p1)_latarnia2 (p1)_mechanizm2 (p1)_suwakc2 endevent //tylko otwarcie

event (p1)_ms2 multiple 0 none (p1)_dzwiek2 (p1)_Wz2 (p1)b_Wz2 (p1)_suwakb2 (p1)_latarnia2 (p1)_mechanizm2 (p1)_suwakc2 (p1)_ms2a endevent //otwarcie i jazda manewrowa
event (p1)_ms2a multiple 0 none (p1)_sem_info_z2 endevent //otwarcie i jazda manewrowa
event (p1)_ms1 multiple 0 none (p1)_sem_info_z1 endevent //blokada jazdy manewrowej bez zamykania
event (p1)_s1 multiple 0 none (p1)_sem_info_z1 endevent //blokada jazdy bez zamykania

rotate 0 0 0
endorigin