44 else if ((target_static = target->
IsStatic()))
61 const char *name = fx->
GetName();
64 if (ofx == fx)
break;
else if (!strcmp(ofx->GetName(), name)) ++index;
67 get_path.
Format(R
"(GetEffect("%s", Object(%d), %d))", name, (int)target_obj->
Number, (
int)index);
72 get_path.
Format(R
"(GetEffect("%s", nil, %d))", name, (int)index);
84 : get_path_type(PPT_Property), set_path_type(PPT_Property), root(parent.root)
99 argument.
Copy(child_property);
117 script.
Format(
"%s(%s)", set_path_c, set_string);
119 script.
Format(
"%s(%s,%s)", argument.
getData(), set_path_c, set_string);
121 script.
Format(
"%s=%s", set_path_c, set_string);
158 checked_values.clear();
172 entries.emplace_back(path,
C4VPropList(p), base_name);
183 if (checked_values.find(target) != checked_values.end())
return;
184 checked_values.insert(target);
186 for (int32_t index = 0; index < target->
GetSize(); ++index)
207 if (checked_values.find(target) != checked_values.end())
return;
208 checked_values.insert(target);
210 if (CollectPropList(target, target_path, prop, val, base_name))
242 CollectPropLists(obj,
C4PropertyPath(obj), prop, val, obj->GetName());
245 CollectPropLists(fx,
C4PropertyPath(fx, obj), prop, val, fx->GetName());
250 CollectPropLists(fx,
C4PropertyPath(fx,
nullptr), prop, val, fx->GetName());
C4AulScriptEngine ScriptEngine
C4Value C4VPropList(C4PropList *p)
C4Value DirectExec(C4PropList *p, const char *szScript, const char *szContext, bool fPassErrors=false, C4AulScriptContext *context=nullptr, bool parse_function=false)
C4PropListStatic * GetPropList()
C4Effect * pGlobalEffects
void EMControl(enum C4PacketType eCtrlType, class C4ControlPacket *pCtrl)
const ReverseView reverse() const
virtual C4Object * GetObject()
virtual const char * GetName() const
virtual class C4PropListStatic * IsStatic()
virtual bool GetPropertyByS(const C4String *k, C4Value *pResult) const
std::vector< C4String * > GetSortedLocalProperties(bool add_prototype=true) const
bool GetProperty(C4PropertyName k, C4Value *pResult) const
StdStrBuf GetDataString() const
void SetProperty(const char *set_string) const
C4Value ResolveValue() const
C4Value ResolveRoot() const
enum C4PropertyPath::PathType set_path_type
const char * GetSetPath() const
enum C4PropertyPath::PathType get_path_type
const char * GetRoot() const
const char * GetGetPath() const
void SetSetPath(const C4PropertyPath &parent, const char *child_property, PathType path_type)
void DoCall(const char *call_string) const
StdStrBuf GetData() const
const C4Value & GetItem(int32_t iElem) const
StdStrBuf GetDataString(int depth=10, const class C4PropListStatic *ignore_reference_parent=nullptr) const
C4PropList * _getPropList() const
C4ValueArray * _getArray() const
const char * getData() const
void Format(const char *szFmt,...) GNUC_FORMAT_ATTRIBUTE_O