40 lines
1 KiB
C
40 lines
1 KiB
C
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#include "MAScannerFilter.h"
|
|||
|
|
|
|||
|
|
class MAScanner : public CSingleton<MAScanner>
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
|
|||
|
|
MAScanner();
|
|||
|
|
~MAScanner();
|
|||
|
|
|
|||
|
|
enum eType
|
|||
|
|
{
|
|||
|
|
OpponentTeamScan = 0, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ĵ(NPC <20><><EFBFBD><EFBFBD>)
|
|||
|
|
MonsterSkillSameTeam, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ĵ
|
|||
|
|
MonsterSkillSameTeamExpectMe, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ĵ
|
|||
|
|
MonsterSkillOpponentTeam, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ĵ
|
|||
|
|
Max,
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
void Scan( MAScanner::eType Type, DnActorHandle hActor, float fMinRange, float fMaxRange, DNVector(DnActorHandle)& vOutputActor );
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
|
|||
|
|
void _CreateFilter();
|
|||
|
|
void _CreateScanner();
|
|||
|
|
void _CreateOpponentTeamScanner();
|
|||
|
|
void _CreateMonsterSkillSameTeamScanner();
|
|||
|
|
void _CreateMonsterSkillSameTeamExpectMeScanner();
|
|||
|
|
void _CreateMonsterSkillOpponentTeamScanner();
|
|||
|
|
|
|||
|
|
IMAScanFilter* _GetFilter( IMAScanFilter::eFilterType Type );
|
|||
|
|
|
|||
|
|
std::vector<IMAScanFilter*> m_vFilterRepository;
|
|||
|
|
std::vector<IMAScanFilter*> m_vScanner[MAScanner::eType::Max];
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#define GetMAScanner() MAScanner::GetInstance()
|