void ChaseGroupState::Execute(ChaserPlayer* pPlayer, u32 elapsedTime) { //sk //충돌 처리를 여기 넣는게 맞나?? - 현재 정의된 어떤 상태이든 총알에 영향을 받기 때문에 //충돌 테스트 - 나중에 독립된 함수로 분리 std::vector<BaseGameEntity*> vec = EntityMgr.GetCollidedEntites(pPlayer); if(vec.size() > 0) { //if there is bullet, chaser state should be changed. std::vector<BaseGameEntity*>::iterator iter; for (iter = vec.begin(); iter != vec.end(); iter++) { BaseGameEntity* pEntity = *iter; if(pEntity->Name() == "Bullet") { pPlayer->GetFSM()->ChangeState(ChaseDeadState::Instance()); return; } } } Animate(pPlayer, elapsedTime); //플레이어를 향해 가도록 설정 //*/ //BaseGameEntity* pTargetEntity = EntityMgr.GetEntityFromID(12); //주인공 케릭터를 얻어오는 방식이 수정되어야 함. 현재 id로 얻어 오는 방식은 ID가 계속 변하기 때문에 의미가 없음. std::vector<BaseGameEntity*> fugivevec = EntityMgr.GetEntityListFromGroupID(100); BaseGameEntity* pTargetEntity = fugivevec[0];// vector3df forwardobject = pTargetEntity->Pos()-pPlayer->Pos(); pPlayer->SetPos(pPlayer->m_myAI.ObjectFlokcing(pPlayer->Pos(),pPlayer->Velocity(), pPlayer->MaxSpeed() , elapsedTime,forwardobject.normalize(),pPlayer->m_uGroupID,pPlayer)); /*/테스트용 patrol pPlayer->SetPos(pPlayer->m_myAI.ObjectFlokcing(pPlayer->Pos(),pPlayer->Velocity(), pPlayer->MaxSpeed() , elapsedTime,pPlayer->Heading(),pPlayer->m_uGroupID,pPlayer)); //*/ //end sk }