staticShapeObject.cpp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include "staticShapeObject.h"
  2. IMPLEMENT_CO_NETOBJECT_V1(StaticShapeObject);
  3. StaticShapeObject::StaticShapeObject()
  4. : mMeshComponent(nullptr),
  5. mCollisionComponent(nullptr),
  6. mAnimationComponent(nullptr)
  7. {
  8. }
  9. StaticShapeObject::~StaticShapeObject()
  10. {
  11. }
  12. bool StaticShapeObject::onAdd()
  13. {
  14. if (!Parent::onAdd())
  15. return false;
  16. //If we don't delinate from the template, just spawn as apropos here
  17. if (!mDirtyGameObject)
  18. {
  19. //Mesh
  20. mMeshComponent = new MeshComponent();
  21. if (!mMeshComponent->registerObject())
  22. {
  23. Con::errorf("StaticShapeObject::onAdd - unable to add MeshComponent!");
  24. return false;
  25. }
  26. mMeshComponent->setInternalName("meshComponent");
  27. addComponent(mMeshComponent);
  28. //Collision
  29. mCollisionComponent = new ShapeCollisionComponent();
  30. if (!mCollisionComponent->registerObject())
  31. {
  32. Con::errorf("StaticShapeObject::onAdd - unable to add ShapeCollisionComponent!");
  33. return false;
  34. }
  35. mCollisionComponent->setInternalName("collisionComponent");
  36. addComponent(mCollisionComponent);
  37. //Animation
  38. mAnimationComponent = new AnimationComponent();
  39. if (!mAnimationComponent->registerObject())
  40. {
  41. Con::errorf("StaticShapeObject::onAdd - unable to add AnimationComponent!");
  42. return false;
  43. }
  44. mAnimationComponent->setInternalName("animationComponent");
  45. addComponent(mAnimationComponent);
  46. }
  47. return true;
  48. }
  49. void StaticShapeObject::onRemove()
  50. {
  51. Parent::onRemove();
  52. }