Obiekt node::eventlauncher: Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
(Informacje dla programistów)
 
(Nie pokazano 4 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 45: Linia 45:
 
Przykładowo, aby sprawdzić wartość pierwszą i trzecią, należy wpisać 5 (2^0 = 1, 2^2 = 4 => 1 + 4 = 5)
 
Przykładowo, aby sprawdzić wartość pierwszą i trzecią, należy wpisać 5 (2^0 = 1, 2^2 = 4 => 1 + 4 = 5)
  
''(jeśli potrafisz lepiej to opisać, to zrób to, proszę ~ krzysiuup)''
 
 
|}
 
|}
  
== Informacje dla programistów ==
+
Jeśli w promieniu działania eventlaunchera znajduje się [[Obiekt node::model|model]] o takiej samej nazwie, wskazanie modelu myszą w trybie freefly i kliknięcie na nim lewym przyciskiem aktywuje rzeczony eventlauncher (jeśli launcher ma zdefiniowane dwa eventy, drugi event uruchamiany jest przez klikniecie z wciśniętym Shift)
Wyzwalacze reprezentowane są przez klasę '''TEventLauncher''', zdefiniowaną w pliku ''EvLaunch.cpp''
 
  
Wpis jest parsowany przez metodę:
+
Oprócz standardowych eventlauncherów możliwe jest również definiowanie eventlauncherów uruchamianych poprzez wysłanie z pojazdu sygnału radiowego ZEW3. Eventlauncher uruchamiany radiem definiowany jest tak samo jak zwykły eventlauncher, ale jako klawisz aktywujący podany ma ciąg ``radio_call3``. Sygnał ZEW3 wysyłany jest domyślnie klawiszem Backspace, o ile w pojeździe znajduje się załączone radio ustawione na kanał inny niż 10.
('''simulation.cpp''')
+
 
TEventLauncher* state_manager::deserialize_eventlauncher(cParser &Input, scene::scratch_data &Scratchpad, scene::node_data const &Nodedata)
+
[[Kategoria:Scenerie]]

Aktualna wersja na dzień 12:19, 6 lip 2022

Definiuje wyzwalacz zdarzeń.

Składnia

node range_max range_min name eventlauncher x y z radius key delta_time event1_name event2_name condition memcell_name check_mask end

Warunek wykonania eventu (parametry po słowie kluczowym condition) jest opcjonalny. Jeśli jest podany, nie podaje się nazwy drugiego eventu.

Opis parametrów
Nazwa Interpretacja Uwagi
range_max Maksymalna odległość, z jakiej obiekt jest widoczny [m].

Wartość -1 oznacza brak ograniczenia widoczności.

range_min Minimalna odległość, z jakiej obiekt jest widoczny [m].
name Nazwa obiektu.
x y z Współrzędne wyzwalacza. Symulator korzysta z prawoskrętnego układu współrzędnych!
radius Minimalna odległość [m], na jaką trzeba się zbliżyć do wyzwalacza aby eventy zostały wykonane. Jeśli eventy mają być wykonywane niezależnie od odległości od obserwatora, należy podać wartość -1.
key Litera określająca klawisz, którego naciśnięcie wywoła zdarzenie. Jeśli event ma się wywołać po naciśnięciu kombinacji Shift + litera, należy podać wielką literę.
delta_time Cykliczność wyzwalania eventu [s] lub godzina jego wyzwolenia. Jeśli event ma wykonywać się cyklicznie, należy podać liczbę sekund między kolejnymi wywołaniami poprzedzoną znakiem minus (-).zwa drugiego zdarzenia.

Jeśli event ma wykonać się o określonej godzinie, należy podać czas w formacie hhmm.

event1_name Nazwa pierwszego zdarzenia.
event2_name Nazwa drugiego zdarzenia. Podawać tylko w przypadku braku warunku.
memcell_name Nazwa komórki pamięci do sprawdzenia wartości. Podawać tylko jeśli istnieje warunek.
check_mask Maska do porównywania wartości. Należy podać sumę indeksów wartości komórki pamięci. Kolejne n wartości mają indeksy z zakresu 2^0 ... 2^n.

Przykładowo, aby sprawdzić wartość pierwszą i trzecią, należy wpisać 5 (2^0 = 1, 2^2 = 4 => 1 + 4 = 5)

Jeśli w promieniu działania eventlaunchera znajduje się model o takiej samej nazwie, wskazanie modelu myszą w trybie freefly i kliknięcie na nim lewym przyciskiem aktywuje rzeczony eventlauncher (jeśli launcher ma zdefiniowane dwa eventy, drugi event uruchamiany jest przez klikniecie z wciśniętym Shift)

Oprócz standardowych eventlauncherów możliwe jest również definiowanie eventlauncherów uruchamianych poprzez wysłanie z pojazdu sygnału radiowego ZEW3. Eventlauncher uruchamiany radiem definiowany jest tak samo jak zwykły eventlauncher, ale jako klawisz aktywujący podany ma ciąg ``radio_call3``. Sygnał ZEW3 wysyłany jest domyślnie klawiszem Backspace, o ile w pojeździe znajduje się załączone radio ustawione na kanał inny niż 10.