1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */
#include "IPathDrawer.h"
#include "DefaultPathDrawer.h"
#include "QTPFSPathDrawer.h"
#include "Sim/Path/IPathManager.h"
#include "Sim/Path/Default/PathManager.h"
#include "Sim/Path/QTPFS/PathManager.hpp"
IPathDrawer* pathDrawer = NULL;
IPathDrawer* IPathDrawer::GetInstance() {
static IPathDrawer* pd = NULL;
if (pd == NULL) {
if (dynamic_cast<QTPFS::PathManager*>(pathManager) != NULL) {
return (pd = new QTPFSPathDrawer());
}
if (dynamic_cast<CPathManager*>(pathManager) != NULL) {
return (pd = new DefaultPathDrawer());
}
pd = new IPathDrawer();
}
return pd;
}
void IPathDrawer::FreeInstance(IPathDrawer* pd) {
delete pd;
}
|