DragonNest/Server/DNGameServer/DNFarmUserSession.h
Cussrro 47f7895977 Revert "修复编码问题"
This reverts commit 9e69c01767.
2024-12-21 10:04:04 +08:00

65 lines
2.5 KiB
C++

#pragma once
#include "DNBreakIntoUserSession.h"
class CDNFishingStatus;
class CFishingArea;
class CDNFarmUserSession:public CDNBreakIntoUserSession,public TBoostMemoryPool<CDNFarmUserSession>
{
public:
CDNFarmUserSession( UINT uiUID, CDNRUDPGameServer* pServer, CDNGameRoom* pRoom );
virtual ~CDNFarmUserSession();
virtual void OnDBRecvFarm( int nSubCmd, char *pData );
//Update
virtual void DoUpdate( DWORD dwCurTick );
#if defined(PRE_ADD_MULTILANGUAGE)
virtual void PreInitializeUser(WCHAR * wszAccountName, UINT nAccountDBID, UINT nSessionID, INT64 biCharacterDBID, int iTeam, int nWorldID, int nVillageID, bool bTutorial, bool bAdult, char cPCBangGrade, char cSelectedLanguage, TMemberVoiceInfo * pInfo = NULL);
#else //#if defined(PRE_ADD_MULTILANGUAGE)
virtual void PreInitializeUser(WCHAR * wszAccountName, UINT nAccountDBID, UINT nSessionID, INT64 biCharacterDBID, int iTeam, int nWorldID, int nVillageID, bool bTutorial, bool bAdult, char cPCBangGrade, TMemberVoiceInfo * pInfo = NULL);
#endif //#if defined(PRE_ADD_MULTILANGUAGE)
int GetFarmActiveFieldCount(){ return m_iFarmActiveFieldCount; }
void SetUpdateFieldListFlag( bool bFlag ){ m_bIsNeedUpdateFieldList = bFlag; }
INT64 GetLastWareHouseItemUniqueID();
bool CheckActiveFieldCount();
// ³óÀåâ°í
void LoadFarmWareHouseList( const TAGetListHarvestDepotItem* pPacket );
const TItem* GetFarmWareHouseItem( INT64 biUniqueID );
void DeleteFarmWareHouseItem( INT64 biUniqueID );
void ClearFarmWareHouseItem(){ m_MapFarmWareHouse.clear(); }
//Fishing
bool GetFishingSecondarySkillInfo(SecondarySkill::Grade::eType &nSkillGrade, int &nLevel);
#ifdef PRE_ADD_CASHFISHINGITEM
int CheckFishingRequirement(int nRequirementType1, int nRequirementType2, TFishingToolInfo &Tool, TFishingMeritInfo &Info);
#else //#ifdef PRE_ADD_CASHFISHINGITEM
int CheckFishingRequirement(int nRequirementType1, int nUsingInvenIndex1, int nRequirementType2, int nUsingInvenIndex2, INT64 &nBaitSerial);
#endif //#ifdef PRE_ADD_CASHFISHINGITEM
bool SetFishingStatus(CFishingArea * pFishingArea);
CDNFishingStatus * GetFishingStatus() { return m_pFishingStatus; }
bool GetIsFishing();
bool GetIsFishingReward();
#ifdef PRE_ADD_CASHFISHINGITEM
int GetFishingRodItemID();
#endif //#ifdef PRE_ADD_CASHFISHINGITEM
private:
int m_iFarmActiveFieldCount;
bool m_bIsNeedUpdateFieldList;
// ³óÀåâ°í
std::map<INT64, TFarmWareHouseItem> m_MapFarmWareHouse;
//Fishing
CDNFishingStatus * m_pFishingStatus;
};