#include "Stdafx.h" #include "GrowingAreaStateCompleted.h" #include "GrowingAreaStateHarvesting.h" #include "GrowingArea.h" #include "DNDBConnection.h" #include "DNFarmGameRoom.h" #include "DNUserSession.h" void CFarmAreaStateCompleted::BeginProcess() { // Update if( m_pArea->GetFarmGameRoom() ) { CDNFarmGameRoom* pFarmGameRoom = m_pArea->GetFarmGameRoom(); CDNDBConnection* pDBCon = m_pArea->GetFarmGameRoom()->GetDBConnection(); std::vector vUpdateAreaIndex; std::vector vUpdateElapsedTimeSec; vUpdateAreaIndex.push_back( m_pArea->GetIndex() ); vUpdateElapsedTimeSec.push_back( m_pArea->GetPlantSeed()->GetRequiredTimeSec() ); if( m_pArea->bIsPrivateArea() == true ) pDBCon->QueryModFieldForCharacterElapsedTime( pFarmGameRoom->GetDBThreadID(), pFarmGameRoom->GetWorldSetID(), 0, m_pArea->GetOwnerCharacterDBID(), vUpdateAreaIndex, vUpdateElapsedTimeSec ); else pDBCon->QueryModFieldElapsedTime( pFarmGameRoom->GetDBThreadID(), pFarmGameRoom->GetWorldSetID(), 0, pFarmGameRoom->GetFarmIndex(), vUpdateAreaIndex, vUpdateElapsedTimeSec ); } m_pArea->GetPlantSeed()->ResetResultItem(); SendBeginAreaState(); #if defined( PRE_ADD_FARM_DOWNSCALE ) // °­Á¦ ¼öÈ® »óÅÂÀ̰ųª °³Àα¸¿ªÀÌ ¾Æ´Ï°í ³óÀå Æó¼â »óŶó¸é ÀÚµ¿¼öÈ® ÇÑ´Ù. if( m_pArea->GetPlantSeed()->bIsForceComplete() || (m_pArea->GetFarmGameRoom() && m_pArea->GetFarmGameRoom()->GetAttr()&Farm::Attr::DownScale && m_pArea->bIsPrivateArea() == false) ) { m_pArea->QueryCompleteHarvest( NULL, NULL, true ); } #endif // #if defined( PRE_ADD_FARM_DOWNSCALE ) } void CFarmAreaStateCompleted::Process( float fDelta ) { } void CFarmAreaStateCompleted::EndProcess() { if( m_pArea->GetState() == Farm::AreaState::HARVESTING ) { CFarmAreaStateHarvesting* pState = static_cast(m_pArea->GetStatePtr()); CDNUserSession* pSession = m_pArea->GetUserSession( pState->GetHarvestingCharacterDBID() ); if( pSession ) pSession->SendFarmHarvest( ERROR_NONE, Farm::ActionType::START, m_pArea->GetIndex() ); } }