#ifndef KBENGINE_CLIENT_ENTITY_METHOD_H
#define KBENGINE_CLIENT_ENTITY_METHOD_H
#include "common/common.h"
#if KBE_PLATFORM == PLATFORM_WIN32
#pragma warning (disable : 4910)
#pragma warning (disable : 4251)
#endif
#include "entitydef/datatype.h"
#include "entitydef/datatypes.h"
#include "helper/debug_helper.h"
#include "pyscript/scriptobject.h"
#if KBE_PLATFORM == PLATFORM_WIN32
#else
#endif
namespace KBEngine{
class ClientEntityMethod : public script::ScriptObject
{
INSTANCE_SCRIPT_HREADER(ClientEntityMethod, script::ScriptObject)
public:
ClientEntityMethod(PropertyDescription* pComponentPropertyDescription,
const ScriptDefModule* pScriptModule, MethodDescription* methodDescription,
ENTITY_ID srcEntityID, ENTITY_ID clientEntityID);
virtual ~ClientEntityMethod();
const char* getName(void) const
{
return methodDescription_->getName();
};
MethodDescription* getDescription(void) const
{
return methodDescription_;
}
static PyObject* tp_call(PyObject* self,
PyObject* args, PyObject* kwds);
PyObject* callmethod(PyObject* args, PyObject* kwds);
protected:
PropertyDescription* pComponentPropertyDescription_;
const ScriptDefModule* pScriptModule_;
MethodDescription* methodDescription_;
ENTITY_ID srcEntityID_;
ENTITY_ID clientEntityID_;
};
}
#endif