00001 #ifndef KX_PYTHONCONTROLLER_H
00002 #define KX_PYTHONCONTROLLER_H
00003
00004 #include <SCA_IController.h>
00005
00006 class KX_GameObject;
00007 class SCA_PythonController : public SCA_IController
00008 {
00009 Py_Header;
00010 protected:
00011 CCString m_scriptText;
00012
00013 public:
00014 static SCA_PythonController* m_sCurrentController;
00015
00016 SCA_PythonController(KX_GameObject* gameobj,PyTypeObject* T = &SCA_PythonController::Type);
00017 virtual ~SCA_PythonController();
00018 virtual void Trigger(class SCA_LogicManager* logicmgr);
00019
00020 PyObject* PyGetActuator(PyObject* self, PyObject* args, PyObject* kwds);
00021 static char* sPyGetActuator__doc__;
00022 static PyObject* sPyGetActuator(PyObject* self,
00023 PyObject* args,
00024 PyObject* kwds)
00025 {
00026 return ((SCA_PythonController*) self)->PyGetActuator(self, args, kwds);
00027 }
00028
00029 PyObject* PyGetSensor(PyObject* self, PyObject* args, PyObject* kwds);
00030 static char* sPyGetSensor__doc__;
00031 static PyObject* sPyGetSensor(PyObject* self,
00032 PyObject* args,
00033 PyObject* kwds)
00034 {
00035 return ((SCA_PythonController*) self)->PyGetSensor(self, args, kwds);
00036 }
00037 static char* sPyGetCurrentController__doc__;
00038 static PyObject* sPyGetCurrentController(PyObject* self,
00039 PyObject* args,
00040 PyObject* kwds)
00041 {
00042 return m_sCurrentController;
00043 }
00044 virtual PyObject* _getattr(char *attr);
00045 };
00046
00047 #endif