ScummVM API documentation
QDEngine::qdConditionalObject Class Referenceabstract

Объект с условиями. More...

#include <qd_conditional_object.h>

Inheritance diagram for QDEngine::qdConditionalObject:
QDEngine::qdNamedObject QDEngine::qdNamedObjectBase QDEngine::qdGameDispatcherBase QDEngine::qdGameEnd QDEngine::qdGameObjectState QDEngine::qdGridZoneState QDEngine::qdMusicTrack QDEngine::qdVideo QDEngine::qdGameDispatcher QDEngine::qdGameScene QDEngine::qdGameObjectStateMask QDEngine::qdGameObjectStateStatic QDEngine::qdGameObjectStateWalk

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< qdConditionconditions_container_t
 
typedef Std::vector< qdConditionGroupcondition_groups_container_t
 

Public Member Functions

 qdConditionalObject (const qdConditionalObject &obj)
 
qdConditionalObjectoperator= (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 qdConditionget_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 qdConditionGroupget_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)
 
qdNamedObjectoperator= (const qdNamedObject &p)
 
qdNamedObjectowner () const
 Возвращает владельца объекта.
 
qdNamedObjectowner (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)
 
qdNamedObjectBaseoperator= (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
 Запись данных в скрипт.
 

Detailed Description

Объект с условиями.

Member Enumeration Documentation

◆ ConditionsMode

Режим проверки условий.

Enumerator
CONDITIONS_AND 

"И" - должны выполниться все условия.

CONDITIONS_OR 

"ИЛИ" - достаточно выполнения одного из условий.

◆ trigger_start_mode

Варианты старта триггера.

Enumerator
TRIGGER_START_FAILED 

запуск не удался

TRIGGER_START_ACTIVATE 

включить активный режим у триггера

TRIGGER_START_WAIT 

включить ждущий режим у триггера

Member Function Documentation

◆ trigger_can_start()

virtual bool QDEngine::qdConditionalObject::trigger_can_start ( ) const
virtual

Возвращает true, если триггер может быть активирован при выполнении его внутренних условий.

Объект должен принадлежать активной сцене (игровые объекты, зоны на сетке, музыка) или не зависеть от нее (сцены, мини-игры и т.д.).

Reimplemented in QDEngine::qdGameObjectState.


The documentation for this class was generated from the following file: