#pragma once #include "DnWorldActProp.h" #include "MAActorProp.h" #include "DnBuffPropComponent.h" //A. ÁÖº¯ ¿µ¿ª¿¡ ¿µÇâÀ» ÁÖ´Â ±â´É //B. ƯÁ¤ Area¿¡ ƯÁ¤ Buff¸¦ ÁØ´Ù. //C. È¿°ú ´ë»ó Ÿ°Ù //i. Ç÷¹ÀÌ¾î ¹× µ¿·á (¸ó½ºÅÍ) //ii. ¸ó½ºÅÍ //iii. µÑ ´Ù //D. È¿°ú Ç¥Çö //i. ¿¬°áµÈ PropÀ» Á¦ÀÛ (+ÇÁ¶øÀÇ ÀÌÆåÆ®) //ii. »óÅ ÀÌ»ó È¿°ú¸¦ º¸¿©ÁÖ´Â ¹æ½Ä°ú µ¿ÀÏÇÏ°Ô Ä³¸¯ÅÍ¿¡ º¸¿©ÁØ´Ù. //1. UI //2. ¸ö¿¡ ºÙ´Â ÀÌÆåÆ® //2. °³¹ß ¹æÇâ °áÁ¤ //A. º» ±â´ÉÀº ƯÁ¤ PropÀÇ ActionÀ¸·Î °³¹ß //3. ƯÁ¤ À̺¥Æ® ¿µ¿ª¿¡ È¿°ú¸¦ ÁÖ´Â ¹æ¹ýÀ¸·Î °³¹ß class CDnBuffProp : public CDnWorldActProp, public MAActorProp, public CDnDamageBase, public TBoostMemoryPool< CDnBuffProp > { private: CDnBuffPropComponent m_BuffPropComponent; protected: virtual bool InitializeTable( int nTableID ); void ReleasePostCustomParam( void ) { if( m_pData && m_bPostCreateCustomParam ) { BuffStruct* pBuffStruct = static_cast( m_pData ); SAFE_DELETE( pBuffStruct ); m_pData = NULL; // ¹Ýµå½Ã NULL ·Î ÇØÁÖ¾î¾ß ÀÌ Å¬·¡½º¸¦ »ó¼Ó¹ÞÀº Ŭ·¡½ºÀÇ ¼Ò¸êÀÚ¿¡¼­ ´Ù½Ã Áö¿öÁöÁö ¾Ê½À´Ï´Ù. } }; public: CDnBuffProp( CMultiRoom* pRoom ); virtual ~CDnBuffProp(void); // from CDnWorldActProp virtual bool Initialize( CEtWorldSector *pParentSector, const char *szPropName, EtVector3 &vPos, EtVector3 &vRotate, EtVector3 &vScale ); virtual void OnChangeAction( const char *szPrevAction ); // from CDnDamageBase virtual DnActorHandle GetActorHandle( void ) { return m_hMonster; }; void OnMessage( const boost::shared_ptr& pMessage ); void SetSummoner( DnActorHandle hActor ) { m_BuffPropComponent.GetSkillComponent().SetSkillUser( hActor ); m_BuffPropComponent.SetTeam( hActor->GetTeam() ); }; };