diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-08-25 17:43:21 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-08-25 17:43:21 +0400 |
commit | 855974dad931bcba8a63260d1f642da49902d569 (patch) | |
tree | 09f71f7f16aee22229f41e91583a1535ce701b7a /source/gameengine/Ketsji/KX_Scene.h | |
parent | 8aa6f672bab266986c7d775cfb01c48d834d3ad9 (diff) |
patch from Mitchell Stokes adding dictionary like access to a scene. (like KX_GameObjects have)
val = scene["prop"]
scene["prop"] = newval
if "prop" in scene: ...
val = scene.get("prop", fallback_val)
Diffstat (limited to 'source/gameengine/Ketsji/KX_Scene.h')
-rw-r--r-- | source/gameengine/Ketsji/KX_Scene.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/source/gameengine/Ketsji/KX_Scene.h b/source/gameengine/Ketsji/KX_Scene.h index f48e9520f53..8d7c0ad8dec 100644 --- a/source/gameengine/Ketsji/KX_Scene.h +++ b/source/gameengine/Ketsji/KX_Scene.h @@ -90,6 +90,7 @@ struct KX_ClientObjectInfo; class KX_Scene : public PyObjectPlus, public SCA_IScene { Py_Header; + PyObject* m_attr_dict; struct CullingInfo { int m_layer; @@ -262,15 +263,10 @@ protected: double m_suspendedtime; double m_suspendeddelta; - - /** - * This stores anything from python - */ - PyObject* m_attr_dict; struct Scene* m_blenderScene; -public: +public: KX_Scene(class SCA_IInputDevice* keyboarddevice, class SCA_IInputDevice* mousedevice, class NG_NetworkDeviceInterface* ndi, @@ -525,6 +521,8 @@ public: KX_PYMETHOD_DOC_NOARGS(KX_Scene, getObjectList); KX_PYMETHOD_DOC_NOARGS(KX_Scene, getName); KX_PYMETHOD_DOC(KX_Scene, addObject); + KX_PYMETHOD_DOC(KX_Scene, get); + /* KX_PYMETHOD_DOC(KX_Scene, getActiveCamera); KX_PYMETHOD_DOC(KX_Scene, getActiveCamera); @@ -549,7 +547,11 @@ public: static int pyattr_set_active_camera(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); virtual PyObject* py_repr(void) { return PyUnicode_FromString(GetName().ReadPtr()); } - + + /* getitem/setitem */ + static PyMappingMethods Mapping; + static PySequenceMethods Sequence; + /** * Sets the time the scene was suspended */ |