//------------------------------------------------------------------------------------- void Proxy::onStreamComplete(int16 id, bool success) { SCOPED_PROFILE(SCRIPTCALL_PROFILE); SCRIPT_OBJECT_CALL_ARGS2(this, const_cast<char*>("onStreamComplete"), const_cast<char*>("hO"), id, success ? Py_True : Py_False); }
void EntityApp<E>::onBroadcastGlobalDataChange(Mercury::Channel* pChannel, KBEngine::MemoryStream& s) { std::string key, value; bool isDelete; s >> isDelete; s.readBlob(key); if(!isDelete) { s.readBlob(value); } PyObject * pyKey = script::Pickler::unpickle(key); if(pyKey == NULL) { ERROR_MSG("EntityApp::onBroadcastCellAppDataChange: no has key!\n"); return; } Py_INCREF(pyKey); if(isDelete) { if(pGlobalData_->del(pyKey)) { // 通知脚本 SCRIPT_OBJECT_CALL_ARGS1(getEntryScript().get(), const_cast<char*>("onGlobalDataDel"), const_cast<char*>("O"), pyKey); } } else { PyObject * pyValue = script::Pickler::unpickle(value); if(pyValue == NULL) { ERROR_MSG("EntityApp::onBroadcastCellAppDataChange: no has value!\n"); Py_DECREF(pyKey); return; } Py_INCREF(pyValue); if(pGlobalData_->write(pyKey, pyValue)) { // 通知脚本 SCRIPT_OBJECT_CALL_ARGS2(getEntryScript().get(), const_cast<char*>("onGlobalData"), const_cast<char*>("OO"), pyKey, pyValue); } Py_DECREF(pyValue); } Py_DECREF(pyKey); }
//------------------------------------------------------------------------------------- void Space::onLoadedSpaceGeometryMapping(NavigationHandlePtr pNavHandle) { pNavHandle_ = pNavHandle; INFO_MSG(fmt::format("KBEngine::onLoadedSpaceGeometryMapping: spaceID={}, respath={}!\n", id(), getGeometryPath())); // 通知脚本 SCRIPT_OBJECT_CALL_ARGS2(Cellapp::getSingleton().getEntryScript().get(), const_cast<char*>("onSpaceGeometryLoaded"), const_cast<char*>("Is"), this->id(), getGeometryPath().c_str()); onAllSpaceGeometryLoaded(); }