#pragma once class Obstacle; class RoomObstacle; class Building; class Loot; class Bullet; class Android; class Player; class Car; class Hero; class EntityFactory : public a8::Singleton { private: EntityFactory() {}; friend class a8::Singleton; public: void Init(); void UnInit(); Obstacle* MakeObstacle(int entity_uniid); RoomObstacle* MakeRoomObstacle(int entity_uniid); Building* MakeBuilding(int entity_uniid); Loot* MakeLoot(int entity_uniid); Bullet* MakeBullet(int entity_uniid); Android* MakeAndroid(int entity_uniid); Player* MakePlayer(int entity_uniid); Car* MakeCar(int entity_uniid); Hero* MakeHero(int entity_uniid); private: };