EnteredWorldState::EnteredWorldState(IState& parentState, Eris::Avatar& avatar, Eris::Account& account) : StateBase<void>::StateBase(parentState), Say("say", this, "Say something."), SayTo("sayto", this, "Say something address to one or many entities. Format: '/sayto entityid,entityid,... message"), Emote("me", this, "Emotes something."), Delete("delete", this, "Deletes an entity."), AdminTell("admin_tell", this, "Uses admin mode to directly tell a NPC something. Usage: /admin_tell <entityid> <key> <value>"), mAvatar(avatar), mAccount(account), mAdapter(account, avatar) { getSignals().GotAvatar.emit(&mAvatar); getSignals().GotView.emit(&getView()); }
void receiveTranslatedWriteRequest(cJSON* nameObject, cJSON* root) { char* name = nameObject->valuestring; cJSON* value = cJSON_GetObjectItem(root, "value"); // Optional, may be NULL cJSON* event = cJSON_GetObjectItem(root, "event"); CanSignal* signal = lookupSignal(name, getSignals(), getSignalCount(), true); if(signal != NULL) { if(value == NULL) { debug("Write request for %s missing value", name); return; } sendCanSignal(signal, value, getSignals(), getSignalCount()); } else { CanCommand* command = lookupCommand(name, getCommands(), getCommandCount()); if(command != NULL) { command->handler(name, value, event, getSignals(), getSignalCount()); } else { debug("Writing not allowed for signal with name %s", name); } } }
void LoggedInState::checkTransfer() { TransferInfoStringSerializer serializer; std::string teleportFilePath(EmberServices::getSingleton().getConfigService().getHomeDirectory(BaseDirType_DATA) + "teleports"); std::fstream teleportsFile(teleportFilePath.c_str(), std::ios_base::in); TransferInfoStringSerializer::TransferInfoStore transferObjects; if (teleportsFile.good()) { serializer.deserialize(transferObjects, teleportsFile); } teleportsFile.close(); mTransferInfos.clear(); for (TransferInfoStringSerializer::TransferInfoStore::const_iterator I = transferObjects.begin(); I != transferObjects.end(); ++I) { const AvatarTransferInfo& avatarTransferInfo(*I); const Eris::TransferInfo& transferInfo(avatarTransferInfo.getTransferInfo()); if (transferInfo.getHost() == mAccount.getConnection()->getHost() && transferInfo.getPort() == mAccount.getConnection()->getPort()) { mTransferInfos.push_back(avatarTransferInfo); // mAccount.takeTransferredCharacter(transferInfo.getPossessEntityId(), transferInfo.getPossessKey()); } } if (mTransferInfos.size() > 0) { getSignals().TransferInfoAvailable(mTransferInfos); } }
void Execute::Run() { Forwarding(); multiply(); ALUOperation(); getSignals(); OldMemory = *MemBuffer; }
void AccountAvailableState::loginSuccess() { S_LOG_INFO("Login Success."); ConsoleBackend::getSingleton().pushMessage("Login Successful", "important"); setChildState(new LoggedInState(*this, mAccount)); getSignals().LoginSuccess.emit(&mAccount); }
void AccountAvailableState::loginFailure(const std::string& msg) { std::ostringstream temp; temp << "Login Failure:" << msg; S_LOG_WARNING(temp.str()); ConsoleBackend::getSingleton().pushMessage(temp.str(), "error"); getSignals().LoginFailure.emit(&mAccount, msg); }
void ConnectingState::connected() { S_LOG_INFO("Connected"); getSignals().GotConnection.emit(&mConnection); setChildState(new ConnectedState(*this, mConnection)); // Set up the player object // Init OOGChat controller // mOOGChat = new OOGChat(mAccount); ConsoleBackend::getSingleton().pushMessage("Connected to Server", "important"); }
AccountAvailableState::AccountAvailableState(IState& parentState, Eris::Connection& connection) : StateBase<LoggedInState>::StateBase(parentState), CreateAcc("create", this, "Create an account on the server."), Login("login", this, "Login to the connected server."), mAccount(&connection) { mAccount.LoginFailure.connect( sigc::mem_fun(*this, &AccountAvailableState::loginFailure)); mAccount.LoginSuccess.connect( sigc::mem_fun(*this, &AccountAvailableState::loginSuccess)); mAccount.LogoutComplete.connect( sigc::mem_fun(*this, &AccountAvailableState::logoutComplete)); getSignals().GotAccount.emit(&mAccount); }
void ConnectDialog::populateSignalList() { enum { deprecatedSignal = 0 }; QString selectedName; if (const QListWidgetItem *item = m_ui.signalList->currentItem()) selectedName = item->text(); m_ui.signalList->clear(); QMap<QString, QString> memberToClassName = getSignals(m_formWindow->core(), m_source, showAllSignalsSlots()); QFont font = QApplication::font(); font.setItalic(true); QVariant variantFont = QVariant::fromValue(font); QListWidgetItem *curr = 0; QMap<QString, QString>::ConstIterator itMember = memberToClassName.constBegin(); const QMap<QString, QString>::ConstIterator itMemberEnd = memberToClassName.constEnd(); while (itMember != itMemberEnd) { const QString member = itMember.key(); QListWidgetItem *item = new QListWidgetItem(m_ui.signalList); item->setText(member); if (!selectedName.isEmpty() && member == selectedName) curr = item; // Mark deprecated signals red. Not currently in use (historically for Qt 3 slots in Qt 4), // but may be used again in the future. if (deprecatedSignal) { item->setData(Qt::FontRole, variantFont); item->setData(Qt::ForegroundRole, QColor(Qt::red)); } ++itMember; } if (curr) { m_ui.signalList->setCurrentItem(curr); } else { selectedName.clear(); } populateSlotList(selectedName); if (!curr) m_ui.slotList->setEnabled(false); }
void ConnectDialog::populateSignalList() { QString selectedName; if (const QListWidgetItem *item = m_ui.signalList->currentItem()) selectedName = item->text(); m_ui.signalList->clear(); QMap<QString, QString> memberToClassName = getSignals(m_formWindow->core(), m_source, showAllSignalsSlots()); QFont font = QApplication::font(); font.setItalic(true); QVariant variantFont = QVariant::fromValue(font); QListWidgetItem *curr = 0; QMap<QString, QString>::ConstIterator itMember = memberToClassName.constBegin(); const QMap<QString, QString>::ConstIterator itMemberEnd = memberToClassName.constEnd(); while (itMember != itMemberEnd) { const QString member = itMember.key(); const bool qt3Signal = isQt3Signal(m_formWindow->core(), m_source, member); QListWidgetItem *item = new QListWidgetItem(m_ui.signalList); item->setText(member); if (!selectedName.isEmpty() && member == selectedName) curr = item; if (qt3Signal) { item->setData(Qt::FontRole, variantFont); item->setData(Qt::ForegroundRole, Qt::red); } ++itMember; } if (curr) { m_ui.signalList->setCurrentItem(curr); } else { selectedName.clear(); } populateSlotList(selectedName); if (!curr) m_ui.slotList->setEnabled(false); }
AccountAvailableState::~AccountAvailableState() { getSignals().DestroyedAccount.emit(); }
void LoggedInState::gotAllCharacters() { S_LOG_INFO("Got all characters"); getSignals().GotAllCharacters.emit(&mAccount); }
void ConnectingState::statusChanged(Eris::BaseConnection::Status status) { getSignals().EventStatusChanged.emit(status); S_LOG_INFO("Status Changed to: " << status); }
EnteredWorldState::~EnteredWorldState() { getSignals().DestroyedView.emit(); getSignals().DestroyedAvatar.emit(); }
int main ( int argc, char *argv[] ) { struct RDArgs *rda = NULL; ULONG sigs; globalEvents = -1; globalCurrentTool = LUNA_TOOL_BRUSH; // Init brush brushTool.antialias = TRUE; // TODO: load from config set toolbox cycle! brushTool.width = 1; brushTool.height = 1; brushTool.feather = TRUE; // TODO: load from config and set toolbox cycle! // Set the colors prevColor = 0; currColor = 0; globalColor = 0; BOOL keyIsDown = FALSE; keyboardEnabled = TRUE; // Starts up the application #ifdef __amigaos4__ MUIMasterBase = OpenLibrary("muimaster.library", 0); if (!MUIMasterBase) { printf("Error opening muimaster library\n"); exit(0); }; IMUIMaster = (struct MUIMasterIFace *) GetInterface(MUIMasterBase, "main", 1, NULL); if (!MUIMasterBase && !IMUIMaster) { printf("Error opening muimaster library\n"); exit(0); }; CyberGfxBase = OpenLibrary("cybergraphics.library", 0); if (!CyberGfxBase) { printf("Error opening cybergraphics library\n"); exit(0); }; ICyberGfx = (struct CyberGfxIFace *) GetInterface(CyberGfxBase, "main", 1, NULL); if (!CyberGfxBase && !ICyberGfx) { printf("Error opening muimaster library\n"); exit(0); }; #endif struct MsgPort *port; Forbid(); port = FindPort("LUNAPAINT"); Permit(); if ( port == NULL) { Locale_Initialize(); Init_Application ( ); } else { // Double Start // TODO: open projects when clicking on icons from there goto quit; } if (argc) { IPTR args[ ARG_CNT ] = {0}; rda = ReadArgs ( ARG_TEMPLATE, args, NULL ); if ( ! rda ) { PrintFault( IoErr ( ), argv[0] ); goto exit; } if ( args[ARG_FILE] ) { STRPTR *file = (STRPTR *)args[ARG_FILE]; while ( *file ) { LoadProject ( *file, FALSE ); file++; } } } // Main loop while ( getSignals ( &sigs ) ) { // Check for signals from GUI if ( checkSignalBreak ( &sigs ) ) break; if ( keyboardEnabled ) { // Execute keyboard events on key press if ( evalRawKey >= IECODE_ASCII_FIRST && evalRawKey < IECODE_ASCII_LAST ) { if ( !keyIsDown ) { keyIsDown = TRUE; checkKeyboardShortcuts ( evalRawKey ); } } } // We always register keyup strokes if ( evalRawKey & IECODE_UP_PREFIX ) keyIsDown = FALSE; // Execute pending events if ( globalActiveWindow && globalActiveCanvas ) doEvents ( ); // Reset events globalEvents = -1; // Mouse clicks if ( mouseClickCount > 0 ) mouseClickCount--; // Delayed canvas redraw if ( redrawTimes == 1 ) { if ( globalActiveWindow ) DoMethod ( globalActiveWindow->area, MUIM_Draw ); redrawTimes--; } if ( redrawTimes > 0 ) redrawTimes--; } // Exists the application and cleans up reserved resources exit: Exit_Application ( ); Locale_Deinitialize(); #ifdef __amigaos4__ if(MUIMasterBase && IMUIMaster) DropInterface((struct Interface *)IMUIMaster); if (MUIMasterBase) CloseLibrary(MUIMasterBase); if(CyberGfxBase && ICyberGfx) DropInterface((struct Interface *)ICyberGfx); if(CyberGfxBase) CloseLibrary(CyberGfxBase); #endif if (rda) FreeArgs(rda); quit: return 0; }
ConnectingState::ConnectingState(IState& parentState, Eris::Session& session, const std::string& socket) : StateBase<ConnectedState>::StateBase(parentState), mConnection(session, std::string("Ember ") + VERSION, socket, new ServerServiceConnectionListener(getSignals())), mHasSignalledDisconnected(false) { // Bind signals mConnection.Connected.connect(sigc::mem_fun(*this, &ConnectingState::connected)); mConnection.StatusChanged.connect(sigc::mem_fun(*this, &ConnectingState::statusChanged)); mConnection.Disconnected.connect(sigc::mem_fun(*this, &ConnectingState::disconnected)); mConnection.Failure.connect(sigc::mem_fun(*this, &ConnectingState::gotFailure)); //mConn->Timeout.connect(SigC::slot(*this, &ServerService::timeout)); }
void LoggedInState::gotCharacterInfo(const Atlas::Objects::Entity::RootEntity & info) { S_LOG_INFO("Got character info"); getSignals().GotCharacterInfo.emit(info); }