Состояние динамического объекта - базовый класс. 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.