home *** CD-ROM | disk | FTP | other *** search
/ AI Game Programming Wisdom / AIGameProgrammingWisdom.iso / SourceCode / 06 General Architectures / 04 Christian / die.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2001-10-03  |  871 b   |  66 lines

  1.  
  2. #include "character.h"
  3. #include "Die.h"
  4. #include "gametime.h"
  5. #include "util.h"
  6.  
  7. Die::Die()
  8. {
  9.     m_name      = "Die"; // must match class name
  10.     m_owner     = NULL;
  11. }
  12.  
  13. void Die::init   ( IEOwner * owner )
  14. {
  15.     m_owner = dynamic_cast<Character *> (owner);
  16. }
  17.  
  18. bool Die::start ()
  19. {
  20.     m_state = Go;
  21.  
  22.     m_owner->animStart ( CA_Die );
  23.  
  24.     printf ( "%s is dying...\n", m_owner->getName() );
  25.  
  26.     return false;
  27. }
  28.  
  29. bool Die::update () 
  30. {
  31.     switch ( m_state )
  32.     {
  33.  
  34.     case Go:
  35.  
  36.         if ( m_owner->animDone() )
  37.         {
  38.             printf ( "%s is dead.\n", m_owner->getName() );
  39.             m_state = Done;
  40.         }
  41.         break;
  42.  
  43.     case Done:
  44.         break;
  45.  
  46.     }
  47.  
  48.     return true;
  49. }
  50.  
  51. bool Die::finish ()
  52. {
  53.     return true;
  54. }
  55.  
  56. IEOwner * Die::getOwner ()
  57. {
  58.     return m_owner;
  59. }
  60.  
  61. const char * Die::getName()
  62. {
  63.     return m_name.c_str();
  64. }
  65.  
  66.