DragonNest/Server/DNGameServer/GrowingAreaStateGrowing.h
2024-12-19 09:48:26 +08:00

44 lines
1.2 KiB
C++

#pragma once
#include "GrowingAreaState.h"
class CFarmAreaStateAddWater;
class CFarmAreaStateGrowing:public IFarmAreaState,public TBoostMemoryPool<CFarmAreaStateGrowing>
{
public:
CFarmAreaStateGrowing( CGrowingArea* pArea )
:IFarmAreaState(pArea)
{
m_pAddWaterState = NULL;
}
virtual ~CFarmAreaStateGrowing();
virtual Farm::AreaState::eState GetState(){ return Farm::AreaState::GROWING; }
virtual void BeginProcess();
virtual void Process( float fDelta );
virtual void EndProcess();
// CheckState
virtual bool CanStartAddWater(); // 물 줄 수 있는 상태?
virtual bool CanCancelAddWater( CDNUserSession* pSession ); // 물 주는거거 취소할 수 있는 상태?
virtual bool CanCompleteAddWater( CDNUserSession* pSession ); // 물 주는거거 완료할 수 있는 상태?
virtual bool CanDBUpdate(); // DB Update 해야하는지 검사?
virtual void RejectReasonLog(WCHAR* wszCondition, CDNUserSession* pSession = NULL);
//
void StartAddWater( CDNUserSession* pSession, const CSFarmAddWater* pPacket );
void CancelAddWater( CDNUserSession* pSession, const CSFarmAddWater* pPacket );
void QueryAddWater();
void CompleteAddWater( int iRet );
private:
CFarmAreaStateAddWater* m_pAddWaterState;
};