#pragma once #include "SecondarySkillRepository.h" #if defined( PRE_ADD_SECONDARY_SKILL ) class CDNUserSession; class CSecondarySkillRepositoryServer:public CSecondarySkillRepository,public TBoostMemoryPool { public: CSecondarySkillRepositoryServer( CDNUserSession* pSession ); int AddRecipe( SecondarySkill::CSAddRecipe* pPacket ); // Ŭ¶óÀÌ¾ðÆ®¿¡ ¹ÞÀº Á¤º¸·Î ·¹½ÃÇÇ Ãß°¡ bool AddRecipe( TSecondarySkillRecipe* pRecipeData ); // DB¿¡¼­ ¹ÞÀº Á¤º¸·Î ·¹½ÃÇÇ Ãß°¡ bool DeleteRecipe( SecondarySkill::CSDeleteRecipe* pPacket ); // Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ¹ÞÀº Á¤º¸·Î ·¹½ÃÇÇ Á¦°Å bool ExtractRecipe( SecondarySkill::CSExtractRecipe* pPacket ); // Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ¹ÞÀº Á¤º¸·Î ·¹½ÃÇÇ ÃßÃâ int DoManufacture( SecondarySkill::CSManufacture* pPacket ); // Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ¹ÞÀº Á¤º¸·Î Á¦ÀÛ bool CancelManufacture( bool bSend=true); // Á¦ÀÛ Ãë¼Ò CSecondarySkill* GetManufacturingSkill(); // ÇöÀç Á¦ÀÛÁßÀÎ ½ºÅ³ Æ÷ÀÎÅÍ ¾ò±â void SetManufacturingFlag( bool bFlag ){ m_bManufacturing = bFlag; } bool bIsManufacturing(){ return m_bManufacturing; } virtual void SendList(); virtual int CanCreate( CSecondarySkill* pCreateSkill ); virtual int CanAddRecipe( CSecondarySkill* pSkill, CSecondarySkillRecipe* pRecipe ); virtual int CanDeleteRecipe( CSecondarySkill* pSkill, int iItemID, CSecondarySkillRecipe*& pRecipe ); virtual int CanExtractRecipe( CSecondarySkill* pSkill, int iItemID, CSecondarySkillRecipe*& pRecipe ); virtual int CanManufacture( CSecondarySkill* pSkill, bool bIsStart, int iItemID, CSecondarySkillRecipe*& pRecipe ); virtual int CanCancelManufacture( CManufactureSkill*& pManufacturingSkill ); protected: void _SendRecipeList(); CDNUserSession* m_pSession; bool m_bManufacturing; }; #endif // #if defined( PRE_ADD_SECONDARY_SKILL )