#pragma once #include "DynamicSceneNode.h" class cMonster; /// MONSTER Àå¸é ³ëµå ÀÎÀÚ class cMonsterSceneNodeParam : public cDynamicSceneNodeParam { public: cMonsterSceneNodeParam(); public: float mHeadHeight; unsigned long mMonClassIndex; }; inline cMonsterSceneNodeParam::cMonsterSceneNodeParam() : mHeadHeight( 0 ) , mMonClassIndex(0) { } class cTutorialSignboard; class cMonsterSceneNode : public cDynamicSceneNode { friend class cSceneManager; public: virtual ~cMonsterSceneNode(); /// ÃʱâÈ­ virtual bool Init( const cMonsterSceneNodeParam& param ); /// ´õ¹Ì¿¡ °´Ã¼ ¸µÅ© virtual unsigned int LinkObject( unsigned int dummyIdx, const char* fileName ); virtual cEffectSceneNode* LinkEffect( unsigned int dummyIdx, const char* fileName, NiTransform* trans, bool bLoop, bool bFollow ); virtual cEffectSceneNode* LinkDamage( unsigned int dummyIdx, const char* fileName, NiTransform* trans, bool IsMiss, bool zFalse ); virtual void UpdateTutorialBoard(); virtual void ClearTutorialBoard(); /// °´Ã¼ÀÇ Áß½ÉÁÂÇ¥¸¦ ¹ÝȯÇÑ´Ù. virtual const NiPoint3& GetObjectFoot(); virtual const NiPoint3& GetObjectCenter(); virtual const NiPoint3& GetObjectHead(); protected: cMonsterSceneNode( eType type = eMONSTER ); /// ¸µÅ©°ø°£À» Á¤ÀÇÇÑ´Ù. virtual bool InitLinkInfo(); /// ±âº» ¾Ö´Ï¸ÞÀ̼ÇÀ» Á¤ÀÇÇÑ´Ù. virtual void InitializeRandomIdle(); /// virtual cObjectNameCard* CreateNameCard( cBaseObject* pObj ); virtual void AddDepthPlaneObject(); private: // Æ©Å丮¾ó¿ë cTutorialSignboard* mpTutorialBoard; };