home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / XenonSource.exe / xenon / source / pod.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2000-08-02  |  1.3 KB  |  77 lines

  1. //-------------------------------------------------------------
  2. //
  3. // Class:    CPod
  4. //
  5. // Author:    John M Phillips
  6. //
  7. // Started:    06/05/00
  8. //
  9. // Base:    CAlien
  10. //
  11. // Derived:    None
  12. //
  13. //-------------------------------------------------------------
  14.  
  15. #include "game.h"
  16.  
  17. //-------------------------------------------------------------
  18.  
  19. CPod::CPod()
  20. {
  21. }
  22.  
  23. //-------------------------------------------------------------
  24.  
  25. CPod::~CPod()
  26. {
  27. }
  28.  
  29. //-------------------------------------------------------------
  30.  
  31. bool CPod::activate()
  32. {
  33.     if (!isActive())
  34.         m_timer.start();
  35.  
  36.     return CActor::activate();
  37. }
  38.  
  39. //-------------------------------------------------------------
  40.  
  41. bool CPod::update(Controls *controls)
  42. {
  43.     if (m_shield == 0) {
  44.  
  45.         CSporeGenerator *gen = new CSporeGenerator;
  46.         m_scene->addActor(gen);
  47.         gen->activate();
  48.         gen->setPosition(getPosition());
  49.  
  50.         explode();
  51.         kill();
  52.         return true;
  53.         }
  54.  
  55.     CShip *ship = m_scene->findShip();
  56.  
  57.     float dx = 0.f;
  58.  
  59.     if (ship)
  60.         dx = ship->getPosition().getX() - m_position.getX();
  61.  
  62.     dx *= POD_XSPEED_SCALE;
  63.  
  64.     if (dx < -POD_MAX_XSPEED)
  65.         dx = -POD_MAX_XSPEED;
  66.     if (dx > POD_MAX_XSPEED)
  67.         dx = POD_MAX_XSPEED;
  68.  
  69.     m_position += gsCVector(dx,m_velocity.getY());;
  70.  
  71.     animate(ANIMATE_LOOP);
  72.  
  73.     return true;
  74. }
  75.  
  76. //-------------------------------------------------------------
  77.