TEUCHOS_UNIT_TEST( GetBaseObjVoidPtr, nonPolymorphicClasses ) { RCP<E> e_ptr(new E); RCP<D> d_ptr = e_ptr; TEST_EQUALITY( getBaseObjVoidPtr(&*e_ptr), static_cast<const void*>(&*e_ptr) ); TEST_EQUALITY( getBaseObjVoidPtr(&*d_ptr), static_cast<const void*>(&*e_ptr) ); }
e_ptr EntityMap::spawn(const EnemyEntry &entry) { int sx = entry.spawnX; int sy = entry.spawnY; polarType pol = entry.polarity; QString ref = entry.spawnRef; Path *p = new Path; for(Point pt: entry.paths){ p->addNode(pt); } if(entry.enemyClass.compare("EnemyScout")==0){ return e_ptr(new EnemyScout(game, sx, sy, pol, p ,ref)); }else if(entry.enemyClass.compare("EnemyScarab")==0){ return e_ptr(new EnemyScarab(game, sx, sy, pol, p ,ref)); }else if(entry.enemyClass.compare("EnemyPestilence")==0){ return e_ptr(new EnemyPestilence(game, sx, sy, pol, p ,ref)); }else if(entry.enemyClass.compare("EnemyCruiser")==0){ return e_ptr(new EnemyCruiser(game, sx, sy, pol, p ,ref)); }else{ return e_ptr(new EnemyProbe(game, sx, sy, pol, p ,ref)); } }