BehaviorVisitor.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /***************************************************************************
  2. BehaviorVisitor.cpp - description
  3. -------------------
  4. begin : Wed Jan 26 2000
  5. copyright : (C) 2000 by Henrik Enqvist
  6. email : henqvist@excite.com
  7. ***************************************************************************/
  8. #include <cstddef>
  9. #include "BehaviorVisitor.h"
  10. #include "Behavior.h"
  11. #include "Group.h"
  12. BehaviorVisitor * BehaviorVisitor::p_BehaviorVisitor = NULL;
  13. BehaviorVisitor::BehaviorVisitor() {
  14. }
  15. BehaviorVisitor::~BehaviorVisitor() {
  16. p_BehaviorVisitor = NULL;
  17. }
  18. BehaviorVisitor * BehaviorVisitor::getInstance() {
  19. if (p_BehaviorVisitor == NULL) {
  20. p_BehaviorVisitor = new BehaviorVisitor();
  21. }
  22. return p_BehaviorVisitor;
  23. }
  24. void BehaviorVisitor::visit(Group* g) {
  25. // Check properties before applying behavior
  26. if (g->m_iProperties & EM_GROUP_NO_BEHAVIOR) return;
  27. // vector<Behavior*>::iterator iter = g->m_vBehavior.begin();
  28. // vector<Behavior*>::iterator end = g->m_vBehavior.end();
  29. // for(; iter != end; iter++) {
  30. // (*iter)->onTick();
  31. // }
  32. if (g->getBehavior() != NULL) {
  33. g->getBehavior()->onTick();
  34. }
  35. }