//-------------------------------------------------------------------------------- void LoginLoginServerState::accountLogin() { if(hasParentState() && !getParentState()->hasParentState()) { ThreadTaskManager::getInstance().lockFrontClients(); I32 frontServerId = mOwer->stateConnectFrontServer(mOwer->getFrontServerAddr()); if (frontServerId != INVALID_NET_ID) { addMessage(out_info,"state£º¡¾LoginLoginServerState¡¿ op£ºconnectFrontServer desc£ºÁ¬½ÓFront³É¹¦"); //getParentState()->setState(getParentState()->getParentState()) ThreadTaskManager::getInstance().addFrontClient(frontServerId,mOwer); getParentState()->setCurrChildState(getParentState()->getConnectFrontServerState()); ThreadTaskManager::getInstance().unlockFrontClients(); mOwer->getCurrState()->accountLogin(); } else { ThreadTaskManager::getInstance().unlockFrontClients(); mOwer->setOperateFinish(true); addMessage(out_error,"state£º¡¾LoginLoginServerState¡¿ op£ºconnectFrontServer desc£ºÁ¬½ÓFrontʧ°Ü"); } } else { mOwer->setOperateFinish(true); addMessage(out_error,"state£º¡¾LoginLoginServerState¡¿ op£ºconnectLoginServer desc£º×´Ì¬²»·ûºÏ"); } }
void Paused::draw() { sf::RenderWindow& window = getStateManager().getSharedContext().window; window.draw(sf::Sprite(*getParentState().getSnapShotTexture())); window.draw(background); window.draw(*pausedMenu.get()); }
const sf::Texture* Paused::getSnapShotTexture() { snapShot.clear(); snapShot.draw(sf::Sprite(*getParentState().getSnapShotTexture())); snapShot.draw(background); snapShot.draw(*pausedMenu.get()); snapShot.display(); return &snapShot.getTexture(); }
NSFStateMachine* NSFState::getParentStateMachine() { NSFState* parentState = getParentState(); if (parentState == NULL) { return NULL; } if (NSFStateMachine* parentStateMachine = dynamic_cast<NSFStateMachine*>(parentState)) { return parentStateMachine; } else { return parentState->getParentStateMachine(); } }
NSFStateMachine* NSFState::getTopStateMachine() { return getParentState()->getTopStateMachine(); }