//------------------------------------------------------------------------------------- bool Bots::installPyModules() { ClientObject::installScript(NULL); PyBots::installScript(NULL); pPyBots_ = new PyBots(); registerPyObjectToScript("bots", pPyBots_); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), addBots, __py_addBots, METH_VARARGS, 0); // 注册设置脚本输出类型 APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), scriptLogType, __py_setScriptLogType, METH_VARARGS, 0) if(PyModule_AddIntConstant(this->getScript().getModule(), "LOG_TYPE_NORMAL", log4cxx::ScriptLevel::SCRIPT_INT)) { ERROR_MSG( "Bots::installPyModules: Unable to set KBEngine.LOG_TYPE_NORMAL.\n"); } if(PyModule_AddIntConstant(this->getScript().getModule(), "LOG_TYPE_INFO", log4cxx::ScriptLevel::SCRIPT_INFO)) { ERROR_MSG( "Bots::installPyModules: Unable to set KBEngine.LOG_TYPE_INFO.\n"); } if(PyModule_AddIntConstant(this->getScript().getModule(), "LOG_TYPE_ERR", log4cxx::ScriptLevel::SCRIPT_ERR)) { ERROR_MSG( "Bots::installPyModules: Unable to set KBEngine.LOG_TYPE_ERR.\n"); } if(PyModule_AddIntConstant(this->getScript().getModule(), "LOG_TYPE_DBG", log4cxx::ScriptLevel::SCRIPT_DBG)) { ERROR_MSG( "Bots::installPyModules: Unable to set KBEngine.LOG_TYPE_DBG.\n"); } if(PyModule_AddIntConstant(this->getScript().getModule(), "LOG_TYPE_WAR", log4cxx::ScriptLevel::SCRIPT_WAR)) { ERROR_MSG( "Bots::installPyModules: Unable to set KBEngine.LOG_TYPE_WAR.\n"); } registerScript(client::Entity::getScriptType()); // 安装入口模块 PyObject *entryScriptFileName = PyUnicode_FromString(g_kbeSrvConfig.getBots().entryScriptFile); if(entryScriptFileName != NULL) { entryScript_ = PyImport_Import(entryScriptFileName); SCRIPT_ERROR_CHECK(); S_RELEASE(entryScriptFileName); if(entryScript_.get() == NULL) { return false; } } onInstallPyModules(); return true; }
//------------------------------------------------------------------------------------- bool Baseapp::installPyModules() { Base::installScript(getScript().getModule()); Proxy::installScript(getScript().getModule()); GlobalDataClient::installScript(getScript().getModule()); registerScript(Base::getScriptType()); registerScript(Proxy::getScriptType()); // 注册创建entity的方法到py APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), time, __py_gametime, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), createBase, __py_createBase, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), createBaseLocally, __py_createBase, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), createEntity, __py_createBase, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), createBaseAnywhere, __py_createBaseAnywhere, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), executeRawDatabaseCommand, __py_executeRawDatabaseCommand, METH_VARARGS, 0); return EntityApp<Base>::installPyModules(); }
//------------------------------------------------------------------------------------- bool Cellapp::installPyModules() { Entity::installScript(getScript().getModule()); GlobalDataClient::installScript(getScript().getModule()); registerScript(Entity::getScriptType()); // 注册创建entity的方法到py APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), time, __py_gametime, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), createEntity, __py_createEntity, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), executeRawDatabaseCommand, __py_executeRawDatabaseCommand, METH_VARARGS, 0); return EntityApp<Entity>::installPyModules(); }
//------------------------------------------------------------------------------------- bool Bots::installPyModules() { ClientObject::installScript(NULL); PyBots::installScript(NULL); pPyBots_ = new PyBots(); registerPyObjectToScript("bots", pPyBots_); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), addBots, __py_addBots, METH_VARARGS, 0); registerScript(client::Entity::getScriptType()); onInstallPyModules(); return true; }
//------------------------------------------------------------------------------------- bool Bots::installPyModules() { ClientObject::installScript(NULL); PyBots::installScript(NULL); pPyBots_ = new PyBots(); registerPyObjectToScript("bots", pPyBots_); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), addBots, __py_addBots, METH_VARARGS, 0); // 注册设置脚本输出类型 APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), scriptLogType, __py_setScriptLogType, METH_VARARGS, 0) if(PyModule_AddIntConstant(this->getScript().getModule(), "LOG_TYPE_NORMAL", log4cxx::ScriptLevel::SCRIPT_INT)) { ERROR_MSG( "Bots::installPyModules: Unable to set KBEngine.LOG_TYPE_NORMAL.\n"); } if(PyModule_AddIntConstant(this->getScript().getModule(), "LOG_TYPE_INFO", log4cxx::ScriptLevel::SCRIPT_INFO)) { ERROR_MSG( "Bots::installPyModules: Unable to set KBEngine.LOG_TYPE_INFO.\n"); } if(PyModule_AddIntConstant(this->getScript().getModule(), "LOG_TYPE_ERR", log4cxx::ScriptLevel::SCRIPT_ERR)) { ERROR_MSG( "Bots::installPyModules: Unable to set KBEngine.LOG_TYPE_ERR.\n"); } if(PyModule_AddIntConstant(this->getScript().getModule(), "LOG_TYPE_DBG", log4cxx::ScriptLevel::SCRIPT_DBG)) { ERROR_MSG( "Bots::installPyModules: Unable to set KBEngine.LOG_TYPE_DBG.\n"); } if(PyModule_AddIntConstant(this->getScript().getModule(), "LOG_TYPE_WAR", log4cxx::ScriptLevel::SCRIPT_WAR)) { ERROR_MSG( "Bots::installPyModules: Unable to set KBEngine.LOG_TYPE_WAR.\n"); } registerScript(client::Entity::getScriptType()); onInstallPyModules(); return true; }
//------------------------------------------------------------------------------------- bool Cellapp::installPyModules() { Entity::installScript(getScript().getModule()); GlobalDataClient::installScript(getScript().getModule()); registerScript(Entity::getScriptType()); // 注册创建entity的方法到py APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), time, __py_gametime, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), createEntity, __py_createEntity, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), executeRawDatabaseCommand, __py_executeRawDatabaseCommand, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), reloadScript, __py_reloadScript, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), addSpaceGeometryMapping, Space::__py_AddSpaceGeometryMapping,METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), getSpaceGeometryMapping, Space::__py_GetSpaceGeometryMapping,METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), setSpaceData, Space::__py_SetSpaceData, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), getSpaceData, Space::__py_GetSpaceData, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), delSpaceData, Space::__py_DelSpaceData, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), isShuttingDown, __py_isShuttingDown, METH_VARARGS, 0); APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), address, __py_address, METH_VARARGS, 0); return EntityApp<Entity>::installPyModules(); }