Объект с условиями. More...
#include <qd_conditional_object.h>
Public Types | |
enum | ConditionsMode { CONDITIONS_AND, CONDITIONS_OR } |
Режим проверки условий. More... | |
enum | trigger_start_mode { TRIGGER_START_FAILED, TRIGGER_START_ACTIVATE, TRIGGER_START_WAIT } |
Варианты старта триггера. More... | |
typedef Std::vector< qdCondition > | conditions_container_t |
typedef Std::vector< qdConditionGroup > | condition_groups_container_t |
Public Member Functions | |
qdConditionalObject (const qdConditionalObject &obj) | |
qdConditionalObject & | operator= (const qdConditionalObject &obj) |
virtual bool | check_conditions () |
Возвращает true, если условия выполняются. | |
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 - время в секундах. | |
virtual bool | init () |
Инициализация объекта, вызывается при старте и перезепуске игры. | |
bool | load_data (Common::SeekableReadStream &fh, int save_version) |
Загрузка данных из сэйва. | |
bool | save_data (Common::WriteStream &fh) const |
Запись данных в сэйв. | |
bool | is_condition_in_group (int condition_idx) const |
virtual trigger_start_mode | trigger_start ()=0 |
Активация триггера. | |
virtual bool | trigger_can_start () const |
Возвращает true, если триггер может быть активирован при выполнении его внутренних условий. More... | |
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 |
Возвращает значение флагов объекта. | |
virtual int | named_object_type () const =0 |
Возвращает тип объекта. | |
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) |
Устанавливает имя объекта. | |
Protected Member Functions | |
bool | load_conditions_script (const xml::tag *p) |
Загрузка данных из скрипта. | |
bool | save_conditions_script (Common::WriteStream &fh, int indent=0) const |
Запись данных в скрипт. | |
Объект с условиями.
|
virtual |
Возвращает true, если триггер может быть активирован при выполнении его внутренних условий.
Объект должен принадлежать активной сцене (игровые объекты, зоны на сетке, музыка) или не зависеть от нее (сцены, мини-игры и т.д.).
Reimplemented in QDEngine::qdGameObjectState.