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

Z MaSzyna
Skocz do: nawigacja, szukaj
(Informacje dla programistów)
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)''
 
 
|}
 
|}
  

Wersja z 09:47, 18 wrz 2021

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)

Informacje dla programistów

Wyzwalacze reprezentowane są przez klasę TEventLauncher, zdefiniowaną w pliku EvLaunch.h

Wpis jest parsowany przez metodę:

(simulation.cpp)
TEventLauncher* state_manager::deserialize_eventlauncher(cParser &Input, scene::scratch_data &Scratchpad, scene::node_data const &Nodedata)