Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/gameengine/GameLogic/SCA_ILogicBrick.cpp')
-rw-r--r--source/gameengine/GameLogic/SCA_ILogicBrick.cpp37
1 files changed, 36 insertions, 1 deletions
diff --git a/source/gameengine/GameLogic/SCA_ILogicBrick.cpp b/source/gameengine/GameLogic/SCA_ILogicBrick.cpp
index abd049e9d64..8286c0829a7 100644
--- a/source/gameengine/GameLogic/SCA_ILogicBrick.cpp
+++ b/source/gameengine/GameLogic/SCA_ILogicBrick.cpp
@@ -247,19 +247,52 @@ PyParentObject SCA_ILogicBrick::Parents[] = {
PyMethodDef SCA_ILogicBrick::Methods[] = {
{"getOwner", (PyCFunction) SCA_ILogicBrick::sPyGetOwner, METH_NOARGS},
- {"getExecutePriority", (PyCFunction) SCA_ILogicBrick::sPySetExecutePriority, METH_NOARGS},
+ // --> Deprecated
+ {"getExecutePriority", (PyCFunction) SCA_ILogicBrick::sPyGetExecutePriority, METH_NOARGS},
{"setExecutePriority", (PyCFunction) SCA_ILogicBrick::sPySetExecutePriority, METH_VARARGS},
+ // <-- Deprecated
{NULL,NULL} //Sentinel
};
+PyAttributeDef SCA_ILogicBrick::Attributes[] = {
+ KX_PYATTRIBUTE_INT_RW("executePriority",0,100000,false,SCA_ILogicBrick,m_Execute_Ueber_Priority),
+ {NULL} //Sentinel
+};
+int SCA_ILogicBrick::CheckProperty(void *self, const PyAttributeDef *attrdef)
+{
+ if (attrdef->m_type != KX_PYATTRIBUTE_TYPE_STRING || attrdef->m_length != 1) {
+ PyErr_SetString(PyExc_AttributeError, "inconsistent check function for attribute type, report to blender.org");
+ return 1;
+ }
+ SCA_ILogicBrick* brick = reinterpret_cast<SCA_ILogicBrick*>(self);
+ STR_String* var = reinterpret_cast<STR_String*>((char*)self+attrdef->m_offset);
+ CValue* prop = brick->GetParent()->FindIdentifier(*var);
+ bool error = prop->IsError();
+ prop->Release();
+ if (error) {
+ PyErr_SetString(PyExc_ValueError, "string does not correspond to a property");
+ return 1;
+ }
+ return 0;
+}
PyObject*
SCA_ILogicBrick::_getattr(const STR_String& attr)
{
+ PyObject* object = _getattr_self(Attributes, this, attr);
+ if (object != NULL)
+ return object;
_getattr_up(CValue);
}
+int SCA_ILogicBrick::_setattr(const STR_String& attr, PyObject *value)
+{
+ int ret = _setattr_self(Attributes, this, attr, value);
+ if (ret >= 0)
+ return ret;
+ return CValue::_setattr(attr, value);
+}
PyObject* SCA_ILogicBrick::PyGetOwner(PyObject* self)
@@ -281,6 +314,7 @@ PyObject* SCA_ILogicBrick::PySetExecutePriority(PyObject* self,
PyObject* args,
PyObject* kwds)
{
+ ShowDeprecationWarning("setExecutePriority()", "the executePriority property");
int priority=0;
@@ -297,6 +331,7 @@ PyObject* SCA_ILogicBrick::PySetExecutePriority(PyObject* self,
PyObject* SCA_ILogicBrick::PyGetExecutePriority(PyObject* self)
{
+ ShowDeprecationWarning("getExecutePriority()", "the executePriority property");
return PyInt_FromLong(m_Execute_Ueber_Priority);
}