/* ==================================================================== * ÆÄ ÀÏ : PlayerSceneNode.h * ¸ñ Àû : Ç÷¹À̾î ij¸¯ÅÍ¿¡ ´ëÇÑ ¸ðµ¨ Á¤º¸¸¦ Á¤ÀÇÇÑ´Ù. * ÀÛ ¼º ÀÚ : À̹ý¼® * ÀÛ ¼º ÀÏ : 2006.5 * * Ãß°¡³»¿ë : * Ãß°¡³¯Â¥ ÀÛ¾÷ÀÚ Ãß°¡³»¿ë * 2006.06 À̹ý¼® »ý¼º * * ÁÖÀÇ»çÇ× : * =================================================================== */ #pragma once #include "DynamicSceneNode.h" class cPlayer; class cSignboard; /// Ç÷¹À̾î Àå¸é ³ëµå ÀÎÀÚ class cPlayerSceneNodeParam : public cDynamicSceneNodeParam { public: cPlayerSceneNodeParam(); public: bool mDisplayObj; }; inline cPlayerSceneNodeParam::cPlayerSceneNodeParam() { mDisplayObj = false; } /// Ç÷¹À̾î Àå¸é ³ëµå class cPlayerSceneNode : public cDynamicSceneNode { friend class cSceneManager; public: virtual ~cPlayerSceneNode(); /// ÃʱâÈ­ virtual bool Init( const cPlayerSceneNodeParam& param ); /// ÆÄÆ® ±³Ã¼ virtual bool ChangeParts( unsigned int partIdx, const char* fileName ); virtual bool ChangeParts( unsigned int partsIdx, NiNode* pNode ); virtual bool ChangePartsTexture( unsigned int partsIdx, const char* fileName ); /// ´õ¹Ì¿¡ °´Ã¼ ¸µÅ© virtual unsigned int LinkObject( unsigned int dummyIdx, const char* fileName ); virtual NiAVObject* GetWeaponDummy( unsigned int objectIdx, bool left ); /// °´Ã¼ÀÇ Áß½ÉÁÂÇ¥¸¦ ¹ÝȯÇÑ´Ù. virtual const NiPoint3& GetObjectCenter(); virtual const NiPoint3& GetObjectFoot(); virtual const NiPoint3& GetObjectHead(); virtual void UpdateLinkEffect(); virtual void HideEar( bool hide ); protected: cPlayerSceneNode( eType type = ePLAYER ); /// ¸µÅ©°ø°£À» Á¤ÀÇÇÑ´Ù. virtual bool InitLinkInfo(); /// ±âº» ¾Ö´Ï¸ÞÀ̼ÇÀ» Á¤ÀÇÇÑ´Ù. virtual void InitializeRandomIdle(); virtual void ProcessTrail( unsigned long deltatime, unsigned long accumtime ); protected: cSignboard* mpTarotBoard; cSignboard* mpUserSellBoard; };