00001 00006 00007 #ifndef __KX_EXPRESSIONCONTROLLER 00008 #define __KX_EXPRESSIONCONTROLLER 00009 00010 #include "SCA_IController.h" 00011 00012 00013 class SCA_ExpressionController : public SCA_IController 00014 { 00015 // Py_Header; 00016 CCString m_exprText; 00017 00018 public: 00019 SCA_ExpressionController(SCA_IObject* gameobj,const CCString& exprtext,PyTypeObject* T=&Type ) 00020 :SCA_IController(gameobj,T), 00021 m_exprText(exprtext) {}; 00022 00023 virtual ~SCA_ExpressionController() {}; 00024 virtual CValue* GetReplica() { 00025 SCA_ExpressionController* replica = new SCA_ExpressionController(*this); 00026 replica->m_exprText = m_exprText; 00027 // this will copy properties and so on... 00028 CValue::AddDataToReplica(replica); 00029 return replica; 00030 }; 00031 00032 virtual void Trigger(SCA_LogicManager* logicmgr); 00033 00034 virtual CValue* FindIdentifier(const CCString& identifiername); 00035 00036 /* --------------------------------------------------------------------- */ 00037 /* Python interface ---------------------------------------------------- */ 00038 /* --------------------------------------------------------------------- */ 00039 00040 // virtual PyObject* _getattr(char *attr); 00041 00042 }; 00043 00044 #endif //__KX_EXPRESSIONCONTROLLER