#include <C4PropList.h>
Classes | |
class | Iterator |
Public Member Functions | |
void | Clear () |
virtual const char * | GetName () const |
virtual void | SetName (const char *NewName=nullptr) |
virtual void | SetOnFire (bool OnFire) |
virtual C4Def const * | GetDef () const |
virtual C4Def * | GetDef () |
virtual C4Object * | GetObject () |
virtual C4Object const * | GetObject () const |
virtual C4Effect * | GetEffect () |
virtual C4PropListNumbered * | GetPropListNumbered () |
virtual class C4MapScriptLayer * | GetMapScriptLayer () |
virtual class C4MapScriptMap * | GetMapScriptMap () |
C4PropList * | GetPrototype () const |
void | RemoveCyclicPrototypes () |
virtual class C4PropListStatic * | IsStatic () |
const class C4PropListStatic * | IsStatic () const |
virtual bool | IsNumbered () const |
virtual bool | Delete () |
virtual bool | GetPropertyByS (const C4String *k, C4Value *pResult) const |
virtual C4ValueArray * | GetProperties () const |
virtual void | SetPropertyByS (C4String *k, const C4Value &to) |
virtual void | ResetProperty (C4String *k) |
bool | GetProperty (C4PropertyName k, C4Value *pResult) const |
C4String * | GetPropertyStr (C4PropertyName k) const |
C4ValueArray * | GetPropertyArray (C4PropertyName n) const |
C4AulFunc * | GetFunc (C4PropertyName k) const |
C4AulFunc * | GetFunc (C4String *k) const |
C4AulFunc * | GetFunc (const char *k) const |
C4String * | EnumerateOwnFuncs (C4String *prev=nullptr) const |
C4Value | Call (C4PropertyName k, C4AulParSet *pPars=nullptr, bool fPassErrors=false) |
C4Value | Call (C4String *k, C4AulParSet *pPars=nullptr, bool fPassErrors=false) |
C4Value | Call (const char *k, C4AulParSet *pPars=nullptr, bool fPassErrors=false) |
C4PropertyName | GetPropertyP (C4PropertyName k) const |
int32_t | GetPropertyBool (C4PropertyName n, bool default_val=false) const |
int32_t | GetPropertyInt (C4PropertyName k, int32_t default_val=0) const |
C4PropList * | GetPropertyPropList (C4PropertyName k) const |
bool | HasProperty (C4String *k) const |
void | SetProperty (C4PropertyName k, const C4Value &to) |
void | Freeze () |
void | Thaw () |
void | ThawRecursively () |
bool | IsFrozen () const |
C4PropListStatic * | FreezeAndMakeStaticRecursively (std::vector< C4Value > *prop_lists, const C4PropListStatic *parent=nullptr, C4String *key=nullptr) |
virtual void | Denumerate (C4ValueNumbers *) |
virtual | ~C4PropList () |
void | CompileFunc (StdCompiler *pComp, C4ValueNumbers *) |
void | AppendDataString (StdStrBuf *out, const char *delim, int depth=3, bool ignore_reference_parent=false) const |
StdStrBuf | ToJSON (int depth=10, bool ignore_reference_parent=false) const |
std::vector< C4String * > | GetSortedLocalProperties (bool add_prototype=true) const |
std::vector< C4String * > | GetSortedLocalProperties (const char *prefix, const C4PropList *ignore_overridden) const |
std::vector< C4String * > | GetUnsortedProperties (const char *prefix, C4PropList *ignore_parent=nullptr) const |
std::vector< C4String * > | GetSortedProperties (const char *prefix, C4PropList *ignore_parent=nullptr) const |
bool | operator== (const C4PropList &b) const |
Iterator | begin () |
Iterator | end () |
Static Public Member Functions | |
static C4PropList * | New (C4PropList *prototype=nullptr) |
static C4PropListStatic * | NewStatic (C4PropList *prototype, const C4PropListStatic *parent, C4String *key) |
Public Attributes | |
int32_t | Status {1} |
Protected Member Functions | |
C4PropList (C4PropList *prototype=nullptr) | |
void | ClearRefs () |
Friends | |
class | C4Value |
class | C4ScriptHost |
Definition at line 67 of file C4PropList.h.
|
virtual |
Definition at line 333 of file C4PropList.cpp.
References C4V_Nil, and C4PropListNumbered::CheckPropList().
|
protected |
Definition at line 251 of file C4PropList.cpp.
void C4PropList::AppendDataString | ( | StdStrBuf * | out, |
const char * | delim, | ||
int | depth = 3 , |
||
bool | ignore_reference_parent = false |
||
) | const |
Definition at line 487 of file C4PropList.cpp.
References StdStrBuf::Append(), begin(), end(), C4Value::GetDataString(), C4Set< T >::GetSize(), C4Set< T >::GetSortedListOfElementPointers(), and IsStatic().
Referenced by C4Object::GetDataString().
C4PropList::Iterator C4PropList::begin | ( | ) |
Definition at line 995 of file C4PropList.cpp.
References begin(), C4Set< T >::First(), GetPrototype(), C4Set< T >::GetSize(), and C4Set< T >::Next().
Referenced by AppendDataString(), begin(), C4ParticleProperties::Set(), and ToJSON().
|
inline |
Definition at line 114 of file C4PropList.h.
References C4StringTable::P, and Strings.
Referenced by C4Command::Acquire(), C4Object::ActivateEntrance(), C4Object::ActivateMenu(), C4Object::AssignDeath(), C4Object::AssignRemoval(), C4Command::Call(), C4GameScriptHost::Call(), C4Effect::CallEffect(), C4Command::CallFailed(), C4Effect::CallStart(), C4Effect::CallStop(), C4Effect::CallTimer(), C4FindObjectFunc::Check(), C4Effect::ClearAll(), C4Object::Collect(), C4SortObjectFunc::CompareGetValue(), C4Object::Contact(), C4GameObjects::CrossCheck(), C4Landscape::P::DigMaterial2Objects(), C4Object::DirectComContents(), C4Object::DoBreath(), C4Object::DoCon(), C4Object::DoDamage(), C4Object::DoEnergy(), C4Object::DoMovement(), C4ObjectMenu::DoRefillInternal(), C4Object::DoSelect(), C4Object::Enter(), C4RoundResults::EvaluateGame(), C4RoundResults::EvaluateGoals(), C4Object::ExecLife(), C4Object::ExecuteCommand(), C4ScriptGuiWindowAction::ExecuteCommand(), C4Object::Exit(), C4Command::Fail(), C4Command::GetTryEnter(), C4Def::GetValue(), C4Object::GetValue(), GrabLost(), C4Landscape::Incinerate(), C4Effect::Init(), C4Player::Init(), C4ObjectMenu::IsCloseDenied(), C4Effect::Kill(), C4Object::Lift(), C4Game::NewObject(), ObjectActionJump(), ObjectComGrab(), ObjectComPunch(), ObjectComPut(), ObjectComUnGrab(), C4ObjectMenu::OnSelectionChanged(), C4EditCursor::PerformDuplication(), C4EditCursor::PerformDuplicationLegacy(), C4Landscape::P::PostFreeShape(), C4Object::Promote(), C4Object::Push(), C4Game::SaveData(), C4Object::SetAction(), C4GUI::FrameDecoration::SetByDef(), C4Object::SetCommand(), C4Player::SetObjectCrewStatus(), C4Object::SetOwner(), C4Object::StatusActivate(), C4Command::Transfer(), and C4Object::UnSelect().
C4Value C4PropList::Call | ( | C4String * | k, |
C4AulParSet * | pPars = nullptr , |
||
bool | fPassErrors = false |
||
) |
Definition at line 797 of file C4PropList.cpp.
References C4Value, C4AulFunc::Exec(), GetFunc(), and Status.
C4Value C4PropList::Call | ( | const char * | k, |
C4AulParSet * | pPars = nullptr , |
||
bool | fPassErrors = false |
||
) |
Definition at line 805 of file C4PropList.cpp.
References C4Value, C4AulFunc::Exec(), FormatString(), C4AulScriptEngine::GetErrorHandler(), GetFunc(), C4AulErrorHandler::OnError(), s, ScriptEngine, Status, and C4AulError::what().
|
inline |
Definition at line 70 of file C4PropList.h.
References C4Set< T >::Clear(), and C4Value::Set0().
Referenced by C4Def::Clear(), C4AulScriptEngine::Clear(), C4ExtraScriptHost::Clear(), C4PropListNumbered::ClearNumberedPropLists(), C4ScriptHost::DeleteOwnedPropLists(), and C4Def::~C4Def().
|
inlineprotected |
Definition at line 160 of file C4PropList.h.
Referenced by C4Object::AssignRemoval().
void C4PropList::CompileFunc | ( | StdCompiler * | pComp, |
C4ValueNumbers * | numbers | ||
) |
Definition at line 366 of file C4PropList.cpp.
References C4Set< T >::Get(), C4Set< T >::Has(), StdCompiler::hasNaming(), StdCompiler::isDeserializer(), mkParAdapt(), C4StringTable::P, P_Prototype, C4Set< T >::Remove(), StdCompiler::SEP_SEP2, StdCompiler::Separator(), Strings, StdCompiler::Value(), and C4Property::Value.
Referenced by C4PropListNumbered::CompileFunc().
|
inlinevirtual |
Reimplemented in C4PropListStaticMember, C4PropListStatic, C4PropListScript, and C4Def.
Definition at line 94 of file C4PropList.h.
Referenced by C4AulScriptEngine::Clear(), and C4ScriptHost::DeleteOwnedPropLists().
|
virtual |
Reimplemented in C4Effect, C4AulScriptEngine, and C4Object.
Definition at line 321 of file C4PropList.cpp.
References C4Value::Denumerate(), C4Set< T >::First(), C4Set< T >::Next(), RemoveCyclicPrototypes(), and C4Property::Value.
Referenced by C4Value::Denumerate(), C4Object::Denumerate(), and C4AulScriptEngine::Denumerate().
|
inline |
Definition at line 211 of file C4PropList.h.
Referenced by AppendDataString(), C4ParticleProperties::Set(), and ToJSON().
Definition at line 928 of file C4PropList.cpp.
References C4Set< T >::First(), C4Set< T >::Get(), C4Value::getFunction(), C4Property::Key, C4Set< T >::Next(), and C4Property::Value.
|
inline |
Definition at line 132 of file C4PropList.h.
Referenced by FreezeAndMakeStaticRecursively().
C4PropListStatic * C4PropList::FreezeAndMakeStaticRecursively | ( | std::vector< C4Value > * | prop_lists, |
const C4PropListStatic * | parent = nullptr , |
||
C4String * | key = nullptr |
||
) |
Definition at line 279 of file C4PropList.cpp.
References C4VPropList(), Freeze(), FreezeAndMakeStaticRecursively(), C4PropListStatic::GetParent(), C4PropListStatic::GetParentKeyName(), GetPropertyByS(), C4Value::getPropList(), GetPrototype(), GetSortedLocalProperties(), IsStatic(), NewStatic(), and Status.
Referenced by FreezeAndMakeStaticRecursively(), and C4AulScriptEngine::Link().
|
virtual |
Reimplemented in C4Def.
Definition at line 648 of file C4PropList.cpp.
References GetDef(), and GetPrototype().
|
virtual |
Reimplemented in C4Def.
Definition at line 654 of file C4PropList.cpp.
References GetDef(), and GetPrototype().
Referenced by C4Value::_getDef(), ConstructionCheck(), C4Game::CreateObject(), C4Game::CreateObjectConstruction(), C4AulExec::DirectExec(), C4GameMessage::Draw(), C4Game::DrawPropListSpecImage(), C4AulExec::FnTranslate(), GetDef(), C4Value::getDef(), C4Object::Init(), C4GameMessage::Init(), C4FindObjectDef::IsImpossible(), operator==(), C4ScriptHost::Parse(), C4AulParse::Parse_Script(), C4Game::PlaceAnimal(), C4Game::PlaceVegetation(), and C4ScriptGuiWindowProperty::Set().
|
virtual |
Reimplemented in C4Effect.
Definition at line 678 of file C4PropList.cpp.
References GetEffect(), and GetPrototype().
Referenced by C4ValueConv< C4Effect * >::_FromC4V(), and GetEffect().
|
inline |
Definition at line 109 of file C4PropList.h.
References C4StringTable::P, and Strings.
Referenced by C4Effect::AssignCallbackFunctions(), Call(), C4Effect::CallDamage(), C4Value::CompileFunc(), C4ScriptHost::CopyPropList(), C4Effect::DoCall(), GetFunc(), C4AulScriptEngine::GetFunctionNames(), C4Effect::Init(), C4MapScriptHost::InitializeMap(), C4Object::PutAwayUnusedObject(), C4MaterialReaction::ResolveScriptFuncs(), C4MCOverlay::SetField(), and C4AulCompiler::PreparseAstVisitor::visit().
Definition at line 772 of file C4PropList.cpp.
References C4Set< T >::Get(), GetFunc(), C4Value::getFunction(), GetPrototype(), C4Set< T >::Has(), and C4Property::Value.
C4AulFunc * C4PropList::GetFunc | ( | const char * | k | ) | const |
Definition at line 786 of file C4PropList.cpp.
References C4StringTable::FindString(), GetFunc(), s, and Strings.
|
virtual |
Reimplemented in C4MapScriptLayer.
Definition at line 660 of file C4PropList.cpp.
References GetMapScriptLayer(), and GetPrototype().
Referenced by C4MapScriptAlgoLayer::C4MapScriptAlgoLayer(), and GetMapScriptLayer().
|
virtual |
Reimplemented in C4MapScriptMap.
Definition at line 666 of file C4PropList.cpp.
References GetMapScriptMap(), and GetPrototype().
Referenced by GetMapScriptMap().
|
virtual |
Reimplemented in C4PropListStatic.
Definition at line 618 of file C4PropList.cpp.
References GetPropertyStr(), P_Name, and s.
Referenced by C4Object::ActivateMenu(), C4Effect::AssignCallbackFunctions(), C4Effect::C4Effect(), C4PropertyPath::C4PropertyPath(), C4Object::CanConcatPictureWith(), C4FindObjectAction::Check(), C4Game::CheckObjectEnumeration(), C4Effect::ClearAll(), ConstructionCheck(), C4Effect::DoCall(), C4EditCursor::DoContextMenu(), C4ObjectMenu::DoRefillInternal(), C4Object::Draw(), C4ScriptGuiWindow::Draw(), C4Game::DrawCrewOverheadText(), C4Object::ExecLife(), C4Effect::Get(), C4Effect::GetCount(), C4Object::GetDataString(), C4Object::GetInfoString(), C4Effect::Init(), C4Effect::Kill(), C4Object::Lift(), C4Game::NewObject(), ObjectComDig(), C4Object::Promote(), C4Object::Push(), C4Object::SetAction(), C4Object::SetOCF(), C4Effect::TempRemoveUpperEffects(), C4Object::UpdateOCF(), and C4EditCursor::UpdateStatusBar().
|
virtual |
Reimplemented in C4Object.
Definition at line 636 of file C4PropList.cpp.
References GetObject(), and GetPrototype().
Referenced by C4Value::_getObj(), C4EditCursor::AddToSelection(), C4PropertyPath::C4PropertyPath(), C4ScriptGuiWindowAction::ClearPointers(), C4GameMessage::Draw(), C4ScriptGuiWindowAction::ExecuteCommand(), FnGetEffectsFor(), C4Value::getObj(), GetObject(), C4GameMessage::Init(), Object(), C4EditCursor::RemoveFromSelection(), and C4ScriptGuiWindowProperty::Set().
|
virtual |
Reimplemented in C4Object.
Definition at line 642 of file C4PropList.cpp.
References GetObject(), and GetPrototype().
|
virtual |
Reimplemented in C4Effect, and C4Object.
Definition at line 883 of file C4PropList.cpp.
References a, C4V_String, C4VString(), C4Set< T >::First(), GetProperties(), GetPrototype(), C4Set< T >::GetSize(), C4Property::Key, and C4Set< T >::Next().
Referenced by C4ScriptGuiWindow::CreateFromPropList(), C4AulScriptEngine::GetFunctionNames(), GetProperties(), C4Object::GetProperties(), C4Effect::GetProperties(), and C4ScriptGuiWindowProperty::Set().
|
inline |
Definition at line 105 of file C4PropList.h.
References GetPropertyByS(), C4StringTable::P, and Strings.
Referenced by C4MapScriptAlgoFilter::C4MapScriptAlgoFilter(), C4MapScriptAlgoModifier::C4MapScriptAlgoModifier(), C4MapScriptAlgoPolygon::C4MapScriptAlgoPolygon(), C4MapScriptAlgoRndChecker::C4MapScriptAlgoRndChecker(), C4FindObjectProcedure::Check(), C4DefGraphics::Draw(), C4GraphicsOverlay::Draw(), C4Object::DrawFaceImpl(), C4Object::DrawLine(), C4Object::GetAction(), C4Def::GetActionByName(), C4Object::GetDragImage(), C4Object::GetParallaxity(), C4MapScriptAlgo::GetXYProps(), C4GameMessage::Init(), C4Object::IsVisible(), C4ScriptUniform::Push(), C4Object::SetAction(), C4Object::SetActionByName(), and C4GraphicsOverlay::UpdateFacet().
C4ValueArray * C4PropList::GetPropertyArray | ( | C4PropertyName | n | ) | const |
Definition at line 758 of file C4PropList.cpp.
References C4Set< T >::Get(), C4Value::getArray(), GetPropertyArray(), GetPrototype(), C4Set< T >::Has(), C4StringTable::P, Strings, and C4Property::Value.
Referenced by C4EditCursor::DoContextMenu(), GetPropertyArray(), and C4FoWLight::Update().
int32_t C4PropList::GetPropertyBool | ( | C4PropertyName | n, |
bool | default_val = false |
||
) | const |
Definition at line 841 of file C4PropList.cpp.
References C4Set< T >::Get(), C4Value::getBool(), GetPropertyBool(), GetPrototype(), C4Set< T >::Has(), C4StringTable::P, Strings, and C4Property::Value.
Referenced by C4Object::ExecLife(), and GetPropertyBool().
Reimplemented in C4Effect, and C4Object.
Definition at line 726 of file C4PropList.cpp.
References C4Set< T >::Get(), GetPropertyByS(), GetPrototype(), C4Set< T >::Has(), C4StringTable::P, P_Prototype, Strings, and C4Property::Value.
Referenced by C4Value::CompileFunc(), C4ScriptGuiWindow::CreateFromPropList(), FreezeAndMakeStaticRecursively(), C4Def::GetActionByName(), C4DefList::GetAllDefs(), GetProperty(), GetPropertyByS(), C4Object::GetPropertyByS(), C4Effect::GetPropertyByS(), C4Game::GetTranslatedString(), C4ValueArraySortPropertycomp::operator()(), C4ScriptGuiWindowProperty::Set(), C4Object::SetActionByName(), ThawRecursively(), C4ScriptHost::UnlinkOwnedFunctions(), C4GraphicsOverlay::UpdateFacet(), and C4AulCompiler::ConstexprEvaluator::visit().
int32_t C4PropList::GetPropertyInt | ( | C4PropertyName | k, |
int32_t | default_val = 0 |
||
) | const |
Definition at line 855 of file C4PropList.cpp.
References C4Set< T >::Get(), C4Value::getInt(), GetPropertyInt(), GetPrototype(), C4Set< T >::Has(), C4StringTable::P, Strings, and C4Property::Value.
Referenced by C4MouseControl::ButtonUpDragScript(), C4MapScriptAlgoEllipse::C4MapScriptAlgoEllipse(), C4MapScriptAlgoLines::C4MapScriptAlgoLines(), C4MapScriptAlgoOffset::C4MapScriptAlgoOffset(), C4MapScriptAlgoPolygon::C4MapScriptAlgoPolygon(), C4MapScriptAlgoRect::C4MapScriptAlgoRect(), C4MapScriptAlgoRndChecker::C4MapScriptAlgoRndChecker(), C4MapScriptAlgoRotate::C4MapScriptAlgoRotate(), C4MapScriptAlgoScale::C4MapScriptAlgoScale(), C4MapScriptAlgoTurbulence::C4MapScriptAlgoTurbulence(), C4Object::Contact(), C4Object::ContactAction(), C4Object::DoBreath(), C4Object::DoEnergy(), C4MouseControl::DragNone(), C4Object::Draw(), C4Object::DrawActionFace(), C4Game::DrawPropListSpecImage(), C4Object::DrawTopFace(), C4Command::Enter(), C4Object::ExecLife(), C4Object::ExecMovement(), C4ValueProviderAction::Execute(), C4Command::Exit(), C4Command::FlightControl(), C4SoundModifierList::Get(), C4SoundModifier::GetBoolProp(), C4SoundModifier::GetFloatProp(), C4Def::GetPlane(), GetPropertyInt(), C4Object::GetSolidMaskPlane(), C4Object::Init(), C4Object::IsVisible(), C4Command::MoveTo(), ObjectActionThrow(), ObjectComDrop(), ObjectComJump(), C4Game::PlaceAnimal(), C4Game::PlaceVegetation(), C4Object::Push(), C4Command::Put(), C4Object::ResetProperty(), C4Object::SetAction(), C4Object::SetDir(), C4Object::SetOCF(), C4Object::SetPhase(), C4Object::SideBounds(), C4Command::Throw(), C4Object::UpdateActionFace(), C4MouseControl::UpdateCursorTarget(), C4GraphicsOverlay::UpdateFacet(), C4Object::UpdateFlipDir(), C4Object::UpdateOCF(), and C4Object::VerticalBounds().
C4PropertyName C4PropList::GetPropertyP | ( | C4PropertyName | k | ) | const |
Definition at line 824 of file C4PropList.cpp.
References C4Set< T >::Get(), GetPropertyP(), GetPrototype(), C4Value::getStr(), C4Set< T >::Has(), C4StringTable::P, P_LAST, Strings, and C4Property::Value.
Referenced by C4Object::ContactAction(), C4GameObjects::CrossCheck(), C4Object::ExecMovement(), C4Object::GetProcedure(), GetPropertyP(), ObjectComDrop(), C4Object::SetAction(), C4Object::SideBounds(), and C4Object::VerticalBounds().
C4PropList * C4PropList::GetPropertyPropList | ( | C4PropertyName | k | ) | const |
Definition at line 869 of file C4PropList.cpp.
References C4Set< T >::Get(), GetPropertyPropList(), C4Value::getPropList(), GetPrototype(), C4Set< T >::Has(), C4StringTable::P, Strings, and C4Property::Value.
Referenced by C4MapScriptAlgoLayer::C4MapScriptAlgoLayer(), C4Game::DrawPropListSpecImage(), GetPropertyPropList(), and C4GameMessage::Init().
C4String * C4PropList::GetPropertyStr | ( | C4PropertyName | k | ) | const |
Definition at line 744 of file C4PropList.cpp.
References C4Set< T >::Get(), GetPropertyStr(), GetPrototype(), C4Value::getStr(), C4Set< T >::Has(), C4StringTable::P, Strings, and C4Property::Value.
Referenced by C4Game::DrawPropListSpecImage(), C4Object::ExecAction(), GetName(), C4PropListStatic::GetName(), GetPropertyStr(), C4Game::GetTranslatedString(), C4Object::SetAction(), C4Object::SetDir(), C4MouseControl::UpdateCursorTarget(), and C4GraphicsOverlay::UpdateFacet().
|
virtual |
Reimplemented in C4PropListNumbered.
Definition at line 672 of file C4PropList.cpp.
References GetPropListNumbered(), and GetPrototype().
Referenced by C4Effect::CompileFunc(), C4Value::CompileFunc(), C4AulExec::DirectExec(), and GetPropListNumbered().
|
inline |
Definition at line 85 of file C4PropList.h.
References C4Value::_getPropList().
Referenced by begin(), C4FindObjectDef::Check(), FreezeAndMakeStaticRecursively(), GetDef(), GetEffect(), GetFunc(), GetMapScriptLayer(), GetMapScriptMap(), GetObject(), GetProperties(), GetPropertyArray(), GetPropertyBool(), GetPropertyByS(), GetPropertyInt(), GetPropertyP(), GetPropertyPropList(), GetPropertyStr(), GetPropListNumbered(), GetSortedLocalProperties(), GetUnsortedProperties(), C4GameScriptHost::Load(), C4GameScriptHost::LoadData(), C4EditCursor::PerformDuplicationLegacy(), and SetPropertyByS().
std::vector< C4String * > C4PropList::GetSortedLocalProperties | ( | bool | add_prototype = true | ) | const |
Definition at line 545 of file C4PropList.cpp.
References C4Set< T >::GetSortedListOfElementPointers(), C4StringTable::P, P_Prototype, and Strings.
Referenced by FreezeAndMakeStaticRecursively(), and C4Game::GetTranslatedString().
std::vector< C4String * > C4PropList::GetSortedLocalProperties | ( | const char * | prefix, |
const C4PropList * | ignore_overridden | ||
) | const |
Definition at line 556 of file C4PropList.cpp.
References a, b, C4Set< T >::First(), GetPrototype(), HasProperty(), C4Set< T >::Next(), C4StringTable::P, P_Prototype, and Strings.
std::vector< C4String * > C4PropList::GetSortedProperties | ( | const char * | prefix, |
C4PropList * | ignore_parent = nullptr |
||
) | const |
Definition at line 601 of file C4PropList.cpp.
References a, b, and GetUnsortedProperties().
std::vector< C4String * > C4PropList::GetUnsortedProperties | ( | const char * | prefix, |
C4PropList * | ignore_parent = nullptr |
||
) | const |
Definition at line 583 of file C4PropList.cpp.
References C4Set< T >::First(), GetPrototype(), C4Set< T >::Next(), C4StringTable::P, P_Prototype, and Strings.
Referenced by GetSortedProperties(), and ThawRecursively().
|
inline |
Definition at line 122 of file C4PropList.h.
References C4Set< T >::Has().
Referenced by C4AulScriptEngine::GetFunctionNames(), GetSortedLocalProperties(), C4MapScriptAlgo::GetXYProps(), and C4AulCompiler::ConstantResolver::visit().
|
inline |
Definition at line 135 of file C4PropList.h.
Referenced by ThawRecursively().
|
inlinevirtual |
Reimplemented in C4PropListNumbered.
Definition at line 92 of file C4PropList.h.
Referenced by C4Value::Denumerate(), and operator==().
|
inlinevirtual |
Reimplemented in C4PropListStatic.
Definition at line 89 of file C4PropList.h.
Referenced by AppendDataString(), C4PropertyPath::C4PropertyPath(), C4Effect::CompileFunc(), C4Value::CompileFunc(), C4ScriptHost::CopyPropList(), C4Value::Denumerate(), C4AulExec::DirectExec(), FreezeAndMakeStaticRecursively(), C4ExtraScriptHost::GetPropList(), C4GameScriptHost::GetPropList(), ToJSON(), C4Value::ToJSON(), and C4AulCompiler::ConstexprEvaluator::visit().
|
inline |
Definition at line 90 of file C4PropList.h.
References IsStatic().
Referenced by IsStatic().
|
static |
Definition at line 40 of file C4PropList.cpp.
Referenced by CompileNewFunc(), FnPlaceVegetation(), C4ScriptGuiWindowProperty::ToC4Value(), C4ScriptGuiWindow::ToC4Value(), and C4AulCompiler::ConstexprEvaluator::visit().
|
static |
Definition at line 46 of file C4PropList.cpp.
Referenced by C4PropListScen::C4PropListScen(), C4ScriptHost::CopyPropList(), FreezeAndMakeStaticRecursively(), C4ScenarioParameterDefs::RegisterScriptConstants(), and C4AulCompiler::ConstexprEvaluator::visit().
bool C4PropList::operator== | ( | const C4PropList & | b | ) | const |
Definition at line 348 of file C4PropList.cpp.
References b, C4Set< T >::First(), GetDef(), C4Set< T >::GetSize(), IsNumbered(), C4Property::Key, C4Set< T >::Next(), and C4Property::Value.
void C4PropList::RemoveCyclicPrototypes | ( | ) |
Definition at line 399 of file C4PropList.cpp.
References C4Value::getPropList(), and C4Value::Set0().
Referenced by Denumerate().
|
virtual |
Reimplemented in C4Effect, and C4Object.
Definition at line 961 of file C4PropList.cpp.
References C4StringTable::P, P_Prototype, C4Set< T >::Remove(), C4Value::Set0(), and Strings.
Referenced by C4Object::ResetProperty(), C4Effect::ResetProperty(), SetName(), and C4ScriptHost::UnlinkOwnedFunctions().
|
virtual |
Reimplemented in C4Object.
Definition at line 625 of file C4PropList.cpp.
References C4VString(), C4StringTable::P, P_Name, ResetProperty(), SetProperty(), and Strings.
Referenced by c4_mapgen_handle_set_map_library(), C4MapScriptHost::InitFunctionMap(), and C4Object::SetName().
|
inlinevirtual |
Reimplemented in C4Object.
Definition at line 73 of file C4PropList.h.
Referenced by C4Effect::ClearAll(), C4Effect::Init(), C4Effect::Kill(), C4Effect::TempReaddUpperEffects(), and C4Effect::TempRemoveUpperEffects().
|
inline |
Definition at line 124 of file C4PropList.h.
References C4StringTable::P, SetPropertyByS(), and Strings.
Referenced by C4Game::AllocateTranslatedString(), C4Effect::C4Effect(), C4Object::ChangeDef(), C4Object::Init(), C4DefScriptHost::Parse(), C4ScriptHost::Preparse(), C4Object::SetAction(), SetName(), C4ScriptGuiWindow::ToC4Value(), C4ScriptHost::UnLink(), and C4MapScriptLayer::UpdateSurfaceSize().
Reimplemented in C4PropListScen, C4Effect, and C4Object.
Definition at line 940 of file C4PropList.cpp.
References C4Set< T >::Add(), C4Set< T >::Get(), C4Value::getPropList(), GetPrototype(), C4Set< T >::Has(), C4StringTable::P, P_Prototype, C4Value::SetPropList(), Strings, and C4Property::Value.
Referenced by C4AulDefFunc::C4AulDefFunc(), C4AulEngineFunc< RType, ThisType, ParTypes >::C4AulEngineFunc(), C4PropListScen::C4PropListScen(), C4ScriptHost::CopyPropList(), SetProperty(), C4Object::SetPropertyByS(), C4Effect::SetPropertyByS(), C4PropListScen::SetPropertyByS(), C4ScriptGuiWindowProperty::ToC4Value(), C4ScriptGuiWindow::ToC4Value(), C4ScriptHost::UnlinkOwnedFunctions(), C4AulCompiler::PreparseAstVisitor::visit(), C4AulCompiler::ConstexprEvaluator::visit(), and C4AulCompiler::ConstantResolver::visit().
|
inline |
Definition at line 133 of file C4PropList.h.
Referenced by ThawRecursively(), and C4ScriptHost::UnlinkOwnedFunctions().
void C4PropList::ThawRecursively | ( | ) |
Definition at line 259 of file C4PropList.cpp.
References GetPropertyByS(), C4AulScriptEngine::GetPropList(), C4Value::getPropList(), GetUnsortedProperties(), IsFrozen(), ScriptEngine, Thaw(), and ThawRecursively().
Referenced by ThawRecursively(), and C4AulScriptEngine::UnLink().
StdStrBuf C4PropList::ToJSON | ( | int | depth = 10 , |
bool | ignore_reference_parent = false |
||
) | const |
Definition at line 515 of file C4PropList.cpp.
References StdStrBuf::Append(), begin(), C4Value, end(), C4Set< T >::GetSize(), C4Set< T >::GetSortedListOfElementPointers(), IsStatic(), and C4Value::ToJSON().
Referenced by C4Value::ToJSON().
|
friend |
Definition at line 171 of file C4PropList.h.
|
friend |
Definition at line 170 of file C4PropList.h.
Referenced by C4VArray(), C4VBool(), C4VFunction(), C4VInt(), C4VPropList(), C4VString(), Call(), C4Effect::GetPropertyByS(), C4Effect::Kill(), C4Effect::TempReaddUpperEffects(), and ToJSON().
int32_t C4PropList::Status {1} |
Definition at line 173 of file C4PropList.h.
Referenced by C4Command::Acquire(), C4Command::Activate(), C4GameObjects::Add(), C4ObjectList::Add(), C4FoW::Add(), C4EditCursor::AddToSelection(), C4Object::AssignDeath(), C4ObjectList::AssignInfo(), C4Object::AssignRemoval(), C4Object::At(), Call(), C4Game::CastObjects(), C4ObjectList::CheckCategorySort(), C4ObjectList::CheckSort(), C4Effect::ClearAll(), C4ObjectList::ClearInfo(), C4Object::Collect(), C4ObjectList::CompileFunc(), C4Object::CompileFunc(), C4GameObjects::CrossCheck(), C4ObjectList::DeleteObjects(), C4ObjectList::Denumerate(), C4Landscape::P::DigMaterial2Objects(), C4Object::DirectComContents(), C4Effect::DoDamage(), C4Object::Draw(), C4Game::DrawCrewOverheadText(), C4Object::DrawSelectMark(), C4Object::DrawTopFace(), C4EditCursor::EMMoveObject(), C4Object::Enter(), C4Object::Execute(), C4SoundInstance::Execute(), C4Effect::Execute(), C4ScriptGuiWindowAction::ExecuteCommand(), C4Command::Fail(), C4ObjectList::Find(), C4FindObject::Find(), C4ObjectList::FindOther(), C4GameObjects::FixObjectOrder(), FreezeAndMakeStaticRecursively(), C4Object::GetArea(), C4EditCursor::GetCurrentSelectionPosition(), C4Object::GetEntranceArea(), C4Object::GetInfoString(), C4ObjectList::GetListID(), C4Object::GetMomentum(), C4ObjectList::GetObject(), C4Object::GrabInfo(), GrabLost(), C4GameObjects::GRBroadcast(), C4Effect::Init(), C4GameMessage::Init(), C4Object::IsMoveableBySolidMask(), C4GraphicsOverlay::IsValid(), C4Object::Lift(), C4Player::MakeCrewMember(), C4ObjectList::MassCount(), C4Object::MenuCommand(), C4GameMessageList::New(), C4Game::NewObject(), ObjectComGrab(), ObjectComUnGrab(), C4ObjectList::ObjectCount(), C4EditCursor::PerformDuplicationLegacy(), C4Landscape::P::PostFreeShape(), C4GameObjects::PostLoad(), C4Object::Push(), C4GameObjects::Remove(), C4EditCursor::RemoveFromSelection(), C4AulScriptContext::ReturnDump(), C4GameObjects::SafeObjectPointer(), C4Object::SetAction(), C4Object::SetGraphics(), C4GameObjects::SetOCF(), C4Object::SetOCF(), C4Object::StatusActivate(), C4Object::StatusDeactivate(), C4Effect::TempReaddUpperEffects(), C4Effect::TempRemoveUpperEffects(), C4ObjectList::UpdateFaces(), C4ObjectList::UpdateGraphics(), C4Object::UpdateOCF(), C4Object::UpdatePos(), C4Object::UpdateSolidMask(), C4GameObjects::UpdateSolidMasks(), C4ObjectList::ValidateOwners(), and C4ObjectList::Write().