Состояние динамического объекта - базовый класс. More...
#include <qd_game_object_state.h>
Public Member Functions | |
| qdGameObjectState (StateType tp) | |
| qdGameObjectState (const qdGameObjectState &st) | |
| virtual qdGameObjectState & | operator= (const qdGameObjectState &st) |
| int | named_object_type () const |
| Возвращает тип объекта. | |
| qdCoordsAnimation * | coords_animation () |
| Возвращает указатель на траекторию движения объекта для состояния. | |
| const qdCoordsAnimation * | coords_animation () const |
| Возвращает указатель на траекторию движения объекта для состояния. | |
| virtual bool | load_script (const xml::tag *p)=0 |
| Загрузка данных из скрипта. | |
| virtual bool | save_script (Common::WriteStream &fh, int indent=0) const =0 |
| Запись данных в скрипт. | |
| bool | init () |
| Инициализация состояния, вызывается при старте и перезапуске игры. | |
| bool | load_data (Common::SeekableReadStream &fh, int save_version) |
| Загрузка данных из сэйва. | |
| bool | save_data (Common::WriteStream &fh) const |
| Запись данных в сэйв. | |
| virtual bool | register_resources () |
| Регистрация ресурсов состояния в диспетчере ресурсов. | |
| virtual bool | unregister_resources () |
| Отмена регистрации ресурсов состояния в диспетчере ресурсов. | |
| virtual bool | load_resources () |
| Загрузка ресурсов. | |
| virtual bool | free_resources () |
| Выгрузка ресурсов. | |
| bool | check_conditions () |
| Возвращает true, если условия активации состояния выполняются. | |
| const Vect2s & | center_offset () const |
| Возвращет смещение центра объекта для состояния (в экранных координатах). | |
| void | set_center_offset (const Vect2s offs) |
| Устанавливает смещение центра объекта для состояния (в экранных координатах). | |
| void | quant (float dt) |
| Логический квант состояния. | |
| qdGameObjectState * | prev_state () |
| Возвращает указатель на предыдущее состояние. | |
| void | set_prev_state (qdGameObjectState *p) |
| Устанавливает предыдущее состояние. | |
| StateType | state_type () const |
| Возвращает тип состояния. | |
| int | mouse_cursor_ID () const |
| Возвращает идентификатор мышиного курсора для состояния. | |
| void | set_mouse_cursor_ID (int id) |
| Устанавливает идентификатор мышиного курсора для состояния. More... | |
| bool | has_mouse_cursor_ID () const |
| Возвращает true, если состоянию назначен особый мышиный курсор. | |
| const char * | sound_name () const |
| Устанавливает имя звукового эффекта, привязанного к состоянию. | |
| void | set_sound_name (const char *p) |
| Возвращает имя звукового эффекта, привязанного к состоянию. | |
| qdSound * | sound () const |
| Возвращает указатель на звуковой эффект, привязанный к состоянию. | |
| bool | has_sound () const |
| Возвращает true, если для состояния задан звук. | |
| const qdSoundHandle * | sound_handle () const |
| Возвращает хэндл звука. | |
| bool | play_sound () |
| Запускает звук, position - стартовяя позиция, от 0.0 до 1.0. | |
| bool | stop_sound () const |
| Останавливает звук. | |
| bool | set_sound_frequency (float frequency_coeff) const |
| Установка частоты звука. | |
| bool | is_sound_finished () const |
| bool | is_sound_playing () const |
| void | set_sound_flag (int fl) |
| Устанавливает флаг для звука. | |
| void | drop_sound_flag (int fl) |
| Скидывает флаг для звука. | |
| bool | check_sound_flag (int fl) const |
| Возвращает true, если установлен флаг для звука. | |
| virtual bool | is_state_empty () const |
| Возвращает true, если состояние пустое. | |
| bool | is_active () const |
| Возвращает true, если в данный момент состояние включено. | |
| bool | is_default () const |
| Возвращает true, если состояние стартовое. | |
| float | activation_delay () const |
| Возвращает задержку (в секундах) перед активацией состояния. | |
| void | set_activation_delay (float tm) |
| Устанавливает задержку (в секундах) перед активацией состояния. | |
| void | set_activation_timer () |
| Устанавливает таймер перед активацией состояния. | |
| void | start () |
| Вызывается при активации состояния. | |
| float | cur_time () const |
| Возвращает время в секундах, прошедшее с момента активации состояния. | |
| float | work_time () const |
| Возвращает длительность состояния в секундах. | |
| void | set_work_time (float tm) |
| Устанавливает длительность состояния в секундах. | |
| bool | need_to_walk () const |
| Возвращает true, если персонажу требуется подойти к точке включения состояния. | |
| virtual qdGameObjectState * | clone () const =0 |
| virtual float | adjust_direction_angle (float angle) const |
| const Vect3f | start_pos () const |
| Возвращает координаты точки, в которой должно активироваться состояние. | |
| float | start_direction_angle () const |
| Возвращает направление объекта в точке, в которой должно активироваться состояние. | |
| int | reference_count () const |
| Возвращает количество ссылок на состояние. | |
| void | inc_reference_count () |
| Инкремент количества ссылок на состояние. | |
| void | dec_reference_count () |
| Декремент количества ссылок на состояние. | |
| bool | has_text () const |
| Возвращает true, если у состояния задан текст субтитров. | |
| const char * | text () const |
| Возвращает текст субтитров. | |
| const char * | full_text () const |
| Возвращает полный текст субтитров. | |
| const char * | short_text () const |
| Возвращает сокращенный текст субтитров. | |
| bool | has_full_text () const |
| Возвращает true, если у состояния задан текст субтитров. | |
| bool | has_short_text () const |
| Возвращает true, если у состояния задан сокращенный текст субтитров. | |
| const char * | full_text_ID () const |
| Возвращает полный текст субтитров. | |
| void | set_full_text_ID (const char *p) |
| Устанавливает полный текст субтитров. More... | |
| const char * | short_text_ID () const |
| Возвращает сокращенный текст субтитров. | |
| void | set_short_text_ID (const char *p) |
| Устанавливает сокращенный текст субтитров. More... | |
| bool | has_bound () const |
| Возвращает true, если у состояния задан баунд. | |
| const Vect3f & | bound () const |
| Возвращает баунд состояния. | |
| float | radius () const |
| Возвращает радиус состояния. | |
| void | set_bound (const Vect3f &b) |
| Устанавливает баунд состояния. | |
| virtual bool | auto_bound () |
| Устанавливает баунд состояния по анимации. | |
| void | set_camera_mode (const qdCameraMode &mode) |
| Устанавливает режим работы камеры, включается при активации состояния. | |
| const qdCameraMode & | camera_mode () const |
| Режим работы камеры, включается при активации состояния. | |
| bool | has_camera_mode () const |
| Возвращает true, если у состояния задан режим работы камеры. | |
| float | rnd_move_radius () const |
| void | set_rnd_move_radius (float radius) |
| float | rnd_move_speed () const |
| void | set_rnd_move_speed (float speed) |
| qdConditionalObject::trigger_start_mode | trigger_start () |
| Активация триггера. | |
| bool | trigger_can_start () const |
| Возвращает true, если триггер может быть активирован при выполнении его внутренних условий. More... | |
| bool | forced_load () const |
| float | text_delay () const |
| bool | has_text_delay () const |
| void | set_text_delay (float delay) |
| float | sound_delay () const |
| bool | has_sound_delay () const |
| void | set_sound_delay (float delay) |
| int | autosave_slot () const |
| void | set_autosave_slot (int slot) |
| float | fade_time () const |
| void | set_fade_time (float time) |
| uint32 | shadow_color () const |
| int | shadow_alpha () const |
| void | set_shadow (uint32 color, int alpha) |
| const qdScreenTextFormat & | text_format (bool topic_mode=false) const |
| void | set_text_format (const qdScreenTextFormat &text_format) |
| bool | has_transform () const |
| const qdScreenTransform & | transform () const |
| void | set_transform (const qdScreenTransform &tr) |
| const qdScreenTransform & | transform_speed () const |
| void | set_transform_speed (const qdScreenTransform &tr_speed) |
Public Member Functions inherited from QDEngine::qdConditionalObject | |
| qdConditionalObject (const qdConditionalObject &obj) | |
| qdConditionalObject & | operator= (const qdConditionalObject &obj) |
| int | add_condition (const qdCondition *p) |
| Добавляет условие. Возвращает поярдковый номер,-1 в случае ошибки. | |
| bool | update_condition (int num, const qdCondition &p) |
| Обновляет условие условие с порядковым номером num. | |
| bool | remove_conditon (int idx) |
| Удаляет условие. | |
| const qdCondition * | get_condition (int idx=0) const |
| Возвращает указатель на условие. | |
| int | conditions_count () const |
| Возвращает количество условий. | |
| int | add_condition_group (const qdConditionGroup *p) |
| Добавляет группу условий. Возвращает поярдковый номер,-1 в случае ошибки. | |
| bool | update_condition_group (int num, const qdConditionGroup &p) |
| Обновляет группу условий с порядковым номером num. | |
| bool | remove_conditon_group (int idx) |
| Удаляет группу условий. | |
| const qdConditionGroup * | get_condition_group (int idx=0) const |
| Возвращает указатель на группу условий. | |
| int | condition_groups_count () const |
| Возвращает количество групп условий. | |
| ConditionsMode | conditions_mode () const |
| Возвращает режим проверки условий. | |
| void | set_conditions_mode (ConditionsMode m) |
| Устанавливает режим проверки условий. | |
| bool | has_conditions () const |
| Возвращает true, если список условий не пустой. | |
| void | conditions_quant (float dt) |
| Обсчет логики условий, dt - время в секундах. | |
| bool | is_condition_in_group (int condition_idx) const |
Public Member Functions inherited from QDEngine::qdNamedObject | |
| qdNamedObject (const qdNamedObject &p) | |
| qdNamedObject & | operator= (const qdNamedObject &p) |
| qdNamedObject * | owner () const |
| Возвращает владельца объекта. | |
| qdNamedObject * | owner (qdNamedObjectType tp) const |
| Возвращает владельца объекта, тип которого tp. | |
| void | set_owner (qdNamedObject *p) |
| Устанавливает владельца объекта. | |
| void | set_flag (int fl) |
| Устанавливает флаг. | |
| void | drop_flag (int fl) |
| Скидывает флаг. | |
| bool | check_flag (int fl) const |
| Возвращает true, если установлен флаг fl. | |
| void | clear_flags () |
| Очищает флаги. | |
| int | flags () const |
| Возвращает значение флагов объекта. | |
| void | add_trigger_reference () |
| Добавляет ссылку из триггеров на объект. | |
| void | remove_trigger_reference () |
| Удаляет ссылку из триггеров на объект. | |
| void | clear_trigger_references () |
| Очищает счётчик ссылок из триггеров на объект. | |
| bool | is_in_triggers () const |
| Возвращает true, если на объект есть ссылки из триггеров. | |
| Common::String | toString () const |
Public Member Functions inherited from QDEngine::qdNamedObjectBase | |
| qdNamedObjectBase (const qdNamedObjectBase &obj) | |
| qdNamedObjectBase & | operator= (const qdNamedObjectBase &obj) |
| const char * | name () const |
| Возвращает имя объекта. | |
| void | set_name (const char *p) |
| Устанавливает имя объекта. | |
Static Public Member Functions | |
| static Common::String | flag2str (int fl, bool truncate=false, bool icon=false) |
Protected Member Functions | |
| bool | load_script_body (const xml::tag *p) |
| Загрузка данных из скрипта. | |
| bool | save_script_body (Common::WriteStream &fh, int indent=0) const |
| Запись данных в скрипт. | |
| virtual bool | need_sound_restart () const |
| Возвращает true, если надо перезапустить звук. | |
Protected Member Functions inherited from QDEngine::qdConditionalObject | |
| bool | load_conditions_script (const xml::tag *p) |
| Загрузка данных из скрипта. | |
| bool | save_conditions_script (Common::WriteStream &fh, int indent=0) const |
| Запись данных в скрипт. | |
Состояние динамического объекта - базовый класс.
| anonymous enum |
Флаги состояния.
| Enumerator | |
|---|---|
| QD_OBJ_STATE_FLAG_HIDDEN | Объект спрятан. |
| QD_OBJ_STATE_FLAG_NOT_IN_TRIGGERS | The state is not in triggers. Deprecated, replaced with is_in_triggers() |
| QD_OBJ_STATE_FLAG_RESTORE_PREV_STATE | Восстанавливать предыдущее состояние по окончании состояния. |
| QD_OBJ_STATE_FLAG_HIDE_OBJECT | Прятать объект по окончании состояния. |
| QD_OBJ_STATE_FLAG_GLOBAL_OWNER | Объект, которому принадлежит состояние - глобальный. |
| QD_OBJ_STATE_FLAG_INVENTORY | Состояние для инвентори. |
| QD_OBJ_STATE_FLAG_MOVE_TO_INVENTORY | Положить объект в инвентори по окончании состояния. |
| QD_OBJ_STATE_FLAG_MOVE_TO_INVENTORY_FAILED | Положить в инвентори не удалось. |
| QD_OBJ_STATE_FLAG_HAS_BOUND | У состояния задан баунд. |
| QD_OBJ_STATE_FLAG_ACTIVATION_TIMER | Активирована задержка перед включением состояния. |
| QD_OBJ_STATE_FLAG_ACTIVATION_TIMER_END | Задержка перед включением состояния окончилась. |
| QD_OBJ_STATE_FLAG_DIALOG_PHRASE | Заданный для состояния текст - вариант фразы для диалогов. Означает, что одно из условий активации состояния - клик мышью по соответствующему тексту на экране. |
| QD_OBJ_STATE_FLAG_SOUND_SYNC | Синхронизировать анимацию по звуку. Когда заканчивается звук, анимация останавливается. Работает только для qdGameObjectStateStatic без координатной анимации. |
| QD_OBJ_STATE_FLAG_ENABLE_INTERRUPT | Разрешить прерывать состояние. Если флаг установлен, то состояние может быть прервано до окончания его работы (например для персонажа - кликом мыши). |
| QD_OBJ_STATE_FLAG_WAS_ACTIVATED | Состояние уже было активировано. Показывает, что состояние уже было хотя бы один раз активировано. |
| QD_OBJ_STATE_FLAG_DISABLE_WALK_INTERRUPT | Запретить прерывать подход к стартовой точке состояния. Имеет смысл только если для состояний с подходом к точке запуска (need_to_walk() == true). |
| QD_OBJ_STATE_FLAG_MOUSE_STATE | Включать состояние, когда объект взят на мышь. |
| QD_OBJ_STATE_FLAG_MOUSE_HOVER_STATE | Включать состояние, когда мышь над объектом в инвентори. |
| QD_OBJ_STATE_FLAG_STAY_IN_INVENTORY | Не вытаскивать объект из инвентори, когда он взят на мышь. |
| QD_OBJ_STATE_FLAG_FORCED_LOAD | Принудительно загружать ресурсы состояния в память при заходе на сцену, не выгружать их до выхода со сцены. |
| QD_OBJ_STATE_FLAG_ENABLE_SKIP | Состояние можно скиповать кликом мыши. |
| QD_OBJ_STATE_FLAG_MOVE_TO_ZONE | При включении состояния класть объект на зону под мышью. |
| QD_OBJ_STATE_FLAG_MOVE_ON_OBJECT | При включении состояния класть объект в центр объекта под мышью. |
| QD_OBJ_STATE_FLAG_ACTIVATE_PERSONAGE | По окончании работы состояния делать персонажа-владельца активным. |
| QD_OBJ_STATE_FLAG_AUTO_LOAD | Автоматически загружать сэйв при активации состояния. |
| QD_OBJ_STATE_FLAG_AUTO_SAVE | Автоматически писать сэйв при активации состояния. |
|
inline |
Устанавливает идентификатор мышиного курсора для состояния.
Если должен использоваться курсор по-умолчанию - параметр должен быть равен CURSOR_UNASSIGNED.
|
inline |
Устанавливает полный текст субтитров.
Если параметр нулевой, то текст очищается.
|
inline |
Устанавливает сокращенный текст субтитров.
Если параметр нулевой, то текст очищается.
|
virtual |
Возвращает true, если триггер может быть активирован при выполнении его внутренних условий.
Объект должен принадлежать активной сцене (игровые объекты, зоны на сетке, музыка) или не зависеть от нее (сцены, мини-игры и т.д.).
Reimplemented from QDEngine::qdConditionalObject.