22 #ifndef QDENGINE_QDCORE_QD_INTERFACE_ELEMENT_STATE_H 23 #define QDENGINE_QDCORE_QD_INTERFACE_ELEMENT_STATE_H 25 #include "qdengine/parser/xml_fwd.h" 26 #include "qdengine/qdcore/qd_animation_info.h" 27 #include "qdengine/qdcore/qd_interface_object_base.h" 28 #include "qdengine/qdcore/qd_interface_element_state_mode.h" 119 bool operator == (
event_t id)
const {
120 return (_event ==
id);
129 return !_event_data.empty();
133 return _event_data.c_str();
137 return _is_before_animation;
150 bool _is_before_animation;
186 return _modes[snd_id].sound_file();
190 return _modes[snd_id].sound();
194 return _modes[snd_id].has_sound();
204 return _modes[anm_id].animation_file();
208 return _modes[anm_id].animation_flags();
213 _modes[anm_id].set_animation_flag(fl);
217 _modes[anm_id].drop_animation_flag(fl);
221 return _modes[anm_id].check_animation_flag(fl);
226 return _modes[anm_id].animation();
230 return _modes[anm_id].has_animation();
234 bool register_resources();
236 bool unregister_resources();
241 bool load_script(
const xml::tag *p);
247 bool quant(
float dt);
262 return _modes[mode].has_contour();
271 return _modes[mode].hit_test(x, y);
277 bool keyboard_handler(Common::KeyCode vkey);
281 const events_container_t &
events()
const {
286 _events.push_back(ev);
290 _events.erase(_events.begin() + iNum);
301 bool need_active_game()
const;
309 events_container_t _events;
329 #endif // QDENGINE_QDCORE_QD_INTERFACE_ELEMENT_STATE_H продолжить игру
Definition: qd_interface_element_state.h:62
Интерфейсное событие.
Definition: qd_interface_element_state.h:35
Текущие очки игрока на экране таблицы рекордов
Definition: qd_interface_element_state.h:105
state_mode_t state_mode() const
Возвращает режим работы состояния.
Definition: qd_interface_element_state.h:254
перейти на другой интерфейсный экран (парметер имя экрана)
Definition: qd_interface_element_state.h:49
включить режим загрузки игры
Definition: qd_interface_element_state.h:74
Имя игрока в таблице рекордов, параметр - номер места
Definition: qd_interface_element_state.h:101
сделать персонажа активным, имя персонажа - в данных события
Definition: qd_interface_element_state.h:76
показать элемент активного экрана
Definition: qd_interface_element_state.h:60
const events_container_t & events() const
Список событий.
Definition: qd_interface_element_state.h:281
bool hit_test(int x, int y, state_mode_t mode) const
Возвращает true, если точка с экранными координатами (x,у) попадает внутрь контура режима mode...
Definition: qd_interface_element_state.h:270
играть видеоролик (параметр - имя видеоролика из списка в qdGameDispatcher)
Definition: qd_interface_element_state.h:84
записать игру [не используется].
Definition: qd_interface_element_state.h:45
bool has_sound(state_mode_t snd_id=DEFAULT_MODE) const
Возвращает true, если к состоянию привязан звук.
Definition: qd_interface_element_state.h:193
activation_t
Способы запуска события
Definition: qd_interface_element_state.h:109
сменить активного персонажа
Definition: qd_interface_element_state.h:51
void erase_all_events()
Удаление всех событий
Definition: qd_interface_element_state.h:293
Звук.
Definition: qd_sound.h:35
void drop_animation_flag(int fl, state_mode_t anm_id=DEFAULT_MODE)
Скидывает флаг анимации.
Definition: qd_interface_element_state.h:216
Состояние элемента интерфейса.
Definition: qd_interface_element_state.h:156
режим, который включается когда мышиный курсор находится над элементом-владельцем ...
Definition: qd_interface_element_state.h:163
включить определенное состояние кнопки, параметр - имя кнопки
Definition: qd_interface_element_state.h:86
void set_animation_flag(int fl, state_mode_t anm_id=DEFAULT_MODE)
Устанавливает флаг анимации.
Definition: qd_interface_element_state.h:212
левый клик по кнопке
Definition: qd_interface_element_state.h:111
Контур.
Definition: qd_contour.h:39
bool is_before_animation() const
Возвращает true, если событие должно происходить до включения анимации.
Definition: qd_interface_element_state.h:136
Событие, привязанное к состоянию интерфейсного элемента.
Definition: qd_interface_element_state_mode.h:36
void erase_event(int iNum)
Уделение события
Definition: qd_interface_element_state.h:289
void add_event(const qdInterfaceEvent &ev)
Добавление события.
Definition: qd_interface_element_state.h:285
новая игра
Definition: qd_interface_element_state.h:47
bool has_animation(state_mode_t anm_id=DEFAULT_MODE) const
Возвращает true, если к состоянию привязана анимация.
Definition: qd_interface_element_state.h:229
перейти на сцену, параметр - имя сцены
Definition: qd_interface_element_state.h:43
пользователь завершил работу с модальным окном и ответил Ок
Definition: qd_interface_element_state.h:97
показать экран интерфейса, как модальный
Definition: qd_interface_element_state.h:95
event_t
События, производимые элементами интерфейса.
Definition: qd_interface_element_state.h:38
XML тег.
Definition: xml_tag.h:33
bool check_animation_flag(int fl, state_mode_t anm_id=DEFAULT_MODE) const
Возвращает true, если для анимации установлен флаг fl.
Definition: qd_interface_element_state.h:220
bool has_data() const
Возвращает true, если у события есть данные.
Definition: qd_interface_element_state.h:128
const char * event_data() const
Возвращает данные для события.
Definition: qd_interface_element_state.h:132
Базовый класс для игровых ресурсов.
Definition: console.h:28
Базовый класс для всех интерфейсных объектов.
Definition: qd_interface_object_base.h:32
const qdSound * sound(state_mode_t snd_id=DEFAULT_MODE) const
Возвращает указатель на звуковой эффект, привязанный к состоянию.
Definition: qd_interface_element_state.h:189
перейти в main menu.
Definition: qd_interface_element_state.h:82
спрятать элемент активного экрана (насовсем)
Definition: qd_interface_element_state.h:57
наведение мышиного курсора
Definition: qd_interface_element_state.h:113
Анимация.
Definition: qd_animation.h:57
const Common::Path animation_file(state_mode_t anm_id=DEFAULT_MODE) const
Возвращает имя файла для анимации.
Definition: qd_interface_element_state.h:203
void set_state_mode(state_mode_t mode)
Устанавливает режим работы состояния.
Definition: qd_interface_element_state.h:250
const Common::Path sound_file(state_mode_t snd_id=DEFAULT_MODE) const
Возвращает имя файла звукового эффекта, привязанного к состоянию.
Definition: qd_interface_element_state.h:185
включить следующее состояние кнопки (парметер имя кнопки)
Definition: qd_interface_element_state.h:80
mouseEvent
События.
Definition: mouse_input.h:41
int animation_flags(state_mode_t anm_id=DEFAULT_MODE) const
Возвращает флаги анимации.
Definition: qd_interface_element_state.h:207
bool has_contour(state_mode_t mode) const
Возвращает true, если у состояния задан контур для режима mode.
Definition: qd_interface_element_state.h:261
Очки игрока в таблице рекордов, параметр - номер места
Definition: qd_interface_element_state.h:103
пользователь завершил работу с модальным окном и ответил Отмена
Definition: qd_interface_element_state.h:99
скроллинг
Definition: qd_interface_element_state.h:90
const qdAnimation * animation(state_mode_t anm_id=DEFAULT_MODE) const
Возвращает указатель на анимацию, привязанную к состоянию.
Definition: qd_interface_element_state.h:225
временно спрятать элемент активного экрана (до перехода на другой экран)
Definition: qd_interface_element_state.h:54
включить режим записи игры
Definition: qd_interface_element_state.h:68
скинуть с мыши объект в инвентори
Definition: qd_interface_element_state.h:88
state_mode_t
Идентификаторы для режимов работы состояния.
Definition: qd_interface_element_state.h:159
выйти из игры
Definition: qd_interface_element_state.h:41
включить предыдущее состояние кнопки (парметер имя кнопки)
Definition: qd_interface_element_state.h:78
event_t event() const
Код события.
Definition: qd_interface_element_state.h:124