#pragma once #include "staticscenenode.h" #include "Item_Common.h" class cDropItemSceneNodeParam : public cStaticSceneNodeParam { public: cDropItemSceneNodeParam(); public: /// Drop ÁÂÇ¥ NiPoint2 mDropStartPos; NiPoint2 mDropEndPos; /// ¼­¹ö °ü¸®¿ë À妽º unsigned long mDropIndex; /// unsigned long mOwner[ MAX_ITEM_OWNER ]; unsigned long mTimeToOwn; unsigned long mParty[ MAX_ITEM_PARTY ]; unsigned long mTimeToParty; bool mIsRareItem; }; inline cDropItemSceneNodeParam::cDropItemSceneNodeParam() : mDropIndex(UINT_MAX) , mDropStartPos(0.0f, 0.0f) , mDropEndPos(0.0f, 0.0f) , mTimeToOwn(0) , mTimeToParty(0) { memset( mOwner, 0, sizeof(mOwner) ); memset( mParty, 0, sizeof(mParty) ); } class cEffectSceneNode; class cTutorialSignboard; class cDropItemSceneNode : public cManagedStaticSceneNode { friend class cSceneManager; public: /// ó¸® //virtual void OnProcess( unsigned long time ); inline unsigned long GetDropIndex() { return mDropIndex; } bool IsHeroOwner(); void ClearEffect(); void UpdateTutorialBoard(); void ClearTutorialBoard(); protected: cDropItemSceneNode( eType type = eDROPITEM ); virtual ~cDropItemSceneNode(); /// ÃʱâÈ­ virtual bool Init( cDropItemSceneNodeParam& param ); virtual void OnProcess( unsigned long deltaTime, unsigned long accumTime ); virtual void AddToVisibleArray(); protected: /// µå¶ø ¾ÆÀÌÅÛ °ü¸®ÀÚ¿ë À妽º unsigned long mDropIndex; /// Drop ¸ñÀûÁö À§Ä¡(¸ó½ºÅÍ À§Ä¡, Ç÷¹À̾î À§Ä¡) NiPoint2 mDropStartPos; NiPoint2 mDropEndPos; unsigned long mOwner[MAX_ITEM_OWNER]; unsigned long mTimeToOwn; unsigned long mParty[ MAX_ITEM_PARTY ]; unsigned long mTimeToParty; unsigned long mEffectIdxByManager; cEffectSceneNode* mOwnerEffect; bool mIsRareItem; // Æ©Å丮¾ó¿ë cTutorialSignboard* mpTutorialBoard; };