/TGame/TCommon/Gene/GeneFactoryImp.cpp

http://awoe.googlecode.com/ · C++ · 51 lines · 43 code · 8 blank · 0 comment · 1 complexity · d0a9de6fad487277a870758a42117d7c MD5 · raw file

  1. #include "stdafx.h"
  2. #include "GeneFactoryImp.h"
  3. #include "GeneS.h"
  4. #include "GeneE.h"
  5. #include "Status/GEBlind.h"
  6. #include "Status/GECharm.h"
  7. #include "Status/GEConfuse.h"
  8. #include "Status/GEDaze.h"
  9. #include "Status/GEDefeated.h"
  10. #include "Status/GEDOT.h"
  11. #include "Status/GEDrain.h"
  12. #include "Status/GEFear.h"
  13. #include "Status/GEHaste.h"
  14. #include "Status/GEHOT.h"
  15. #include "Status/GEInvisibility.h"
  16. #include "Status/GEModifier.h"
  17. #include "Status/GEStance.h"
  18. #include "Status/GEShield.h"
  19. #include "Status/GESlow.h"
  20. #include "Status/GESnare.h"
  21. #include "Status/GEStateAES.h"
  22. GeneFactoryImp::GeneFactoryImp()
  23. {
  24. }
  25. GeneFactoryImp::~GeneFactoryImp()
  26. {
  27. }
  28. void
  29. GeneFactoryImp::initialize()
  30. {
  31. registerGene<GEBlind>(1000);
  32. registerGene<GECharm>(10001);
  33. }
  34. IGene*
  35. GeneFactoryImp::create(IGeneCreateData& createData )
  36. {
  37. GeneClass2Creator::iterator it = m_theCreators.find(createData.getClass());
  38. if (it!=m_theCreators.end())
  39. {
  40. return it->second->create();
  41. }
  42. return NULL;
  43. }