Obiekt node::eventlauncher: Różnice pomiędzy wersjami
Z MaSzyna
(→Informacje dla programistów) |
|||
Linia 49: | Linia 49: | ||
== Informacje dla programistów == | == Informacje dla programistów == | ||
+ | Wyzwalacze reprezentowane są przez klasę '''TEventLauncher''', zdefiniowaną w pliku ''EvLaunch.cpp'' | ||
+ | |||
Wpis jest parsowany przez metodę: | Wpis jest parsowany przez metodę: | ||
('''simulation.cpp''') | ('''simulation.cpp''') | ||
TEventLauncher* state_manager::deserialize_eventlauncher(cParser &Input, scene::scratch_data &Scratchpad, scene::node_data const &Nodedata) | TEventLauncher* state_manager::deserialize_eventlauncher(cParser &Input, scene::scratch_data &Scratchpad, scene::node_data const &Nodedata) |
Wersja z 14:22, 31 gru 2017
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.
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 potrafisz lepiej to opisać, to zrób to, proszę ~ krzysiuup) |
Informacje dla programistów
Wyzwalacze reprezentowane są przez klasę TEventLauncher, zdefiniowaną w pliku EvLaunch.cpp
Wpis jest parsowany przez metodę:
(simulation.cpp) TEventLauncher* state_manager::deserialize_eventlauncher(cParser &Input, scene::scratch_data &Scratchpad, scene::node_data const &Nodedata)