#include "StdAfx.h" #include ".\npcscenenode.h" #include "ObjectManager.h" #include "ResourceManager.h" #include "SceneManager.h" #include "cameraManager.h" #include "RenderSystem.h" cNpcSceneNode::cNpcSceneNode( eType type ) : cDynamicSceneNode( type ) { } cNpcSceneNode::~cNpcSceneNode() { ClearCollectInfo(); } bool cNpcSceneNode::Init( const cNpcSceneNodeParam& param ) { if( cDynamicSceneNode::Init( param ) == false ) { return false; } return true; } /* ------------------------------------------------------------------ * ÇÔ¼öÀ̸§ : InitLinkInfo() * ¸ñ Àû : ¸µÅ©Á¤º¸¸¦ ÀúÀåÇÒ ¸Þ¸ð¸®¸¦ ÃʱâÈ­ ÇÑ´Ù. * ÁÖÀÇ»çÇ× : * ------------------------------------------------------------------ */ bool cNpcSceneNode::InitLinkInfo() { mpLinkInfo = NiNew NiTPrimitiveArray(2, 1); assert(mpLinkInfo); if( mpLinkInfo == NULL ) { return false; } for( unsigned int i=0; iGetAllocatedSize(); ++i ) { mpLinkInfo->SetAt( i,0 ); } return true; } /* ------------------------------------------------------------------ * ÇÔ¼öÀ̸§ : InitializeRandomIdle() * ¸ñ Àû : µ¿ÀÛÀÇ ´Ù¾ç¼ºÀ» Á¦°øÇϱâ À§Çؼ­ * ÁÖÀÇ»çÇ× : * ------------------------------------------------------------------ */ void cNpcSceneNode::InitializeRandomIdle() { mpRandomIdle = NiNew NiTPrimitiveArray(1); mpRandomIdle->SetAt(0, 0); } const NiPoint3& cNpcSceneNode::GetObjectHead() { NiAVObject* spine = GetDummyObject( eLINK_HEAD ); if( spine ) return spine->GetWorldTranslate(); else return NiPoint3::ZERO; } const NiPoint3& cNpcSceneNode::GetObjectFoot() { NiAVObject* spine = GetDummyObject( eLINK_FOOT ); if( spine ) return spine->GetWorldTranslate(); else return NiPoint3::ZERO; } const NiPoint3& cNpcSceneNode::GetObjectCenter() { NiAVObject* spine = GetDummyObject( eLINK_BODY ); if( spine ) return spine->GetWorldTranslate(); else return NiPoint3::ZERO; }