/* ========================================================================== * ÆÄ ÀÏ : HaveSkillObject.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ¹Ú°æÈñ * ÀÛ ¼º ÀÏ : 2007-09-14 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "Player_Common.h" struct sInfluence; class cHaveSkillObject { public: cHaveSkillObject(); virtual ~cHaveSkillObject(); /// SkillmanagerÀÇ ¸Þ¸ð¸®Ç®¿¡¼­ ½ºÅ³ °ø°£À» ÇÒ´ç¹ÞÀ½ void* operator new( size_t n ); /// ¸Þ¸ð¸®Ç®¿¡¼­ ÇÒ´ç ¹ÞÀº È¿°ú °´Ã¼¸¦À» Á¦°ÅÇØÁÜ void operator delete( void* ptr, size_t n ); void Init( unsigned long skillIdx, unsigned char skillStep, unsigned long restCoolTime ); void RestoreInit( unsigned long skillIdx, unsigned char skillStep, unsigned long restCoolTime ); void Process( unsigned long elapsedTime, unsigned long accumTime ); bool StepUp( unsigned char skillStep, unsigned long restCoolTime ); void StepUpByCheat( unsigned char skillStep, unsigned long restCoolTime ); void StepDown() { --mSkillStep; } void UpdateCoolTime( unsigned long restCoolTime, float speedFactor ); void ClearRestTime(){ mRestTime = 0; } unsigned long GetSkillIdx() { return mSkillIdx; } unsigned char GetSkillStep() { return mSkillStep; } unsigned long GetEndCoolTime(); unsigned long GetRestTime(); /// Àû¿ë ¿©ºÎ¿Í »ó°ü¾ø´Â DBÀúÀå¿ë ÄðŸÀÓ unsigned long DbSaveDataCoolTime() { return mCreationTime + mRestTime; } private: /// ½ºÅ³ À妽º unsigned long mSkillIdx; /// ½ºÅ³ ½ºÅÜ unsigned char mSkillStep; /// ÄðŸÀÓ Àû¿ë ½ÃÀ۽ð£ unsigned long mCreationTime; /// ÄðŸÀÓ ³²Àº ½Ã°£ (Àû¿ë ½ÃÀ۽ð£ ÀÌÈÄ·Î ºÎÅÍ) unsigned long mRestTime; };