playerObject.cpp 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. #include "playerObject.h"
  2. IMPLEMENT_CO_NETOBJECT_V1(PlayerObject);
  3. PlayerObject::PlayerObject()
  4. : mMeshComponent(nullptr),
  5. mCollisionComponent(nullptr),
  6. mAnimationComponent(nullptr),
  7. mPhysicsComponent(nullptr)
  8. {
  9. }
  10. PlayerObject::~PlayerObject()
  11. {
  12. }
  13. bool PlayerObject::onAdd()
  14. {
  15. if (!Parent::onAdd())
  16. return false;
  17. //If we don't delinate from the template, just spawn as apropos here
  18. if (!mDirtyGameObject)
  19. {
  20. //Mesh
  21. mMeshComponent = new MeshComponent();
  22. if (!mMeshComponent->registerObject())
  23. {
  24. Con::errorf("PlayerObject::onAdd - unable to add MeshComponent!");
  25. return false;
  26. }
  27. mMeshComponent->setInternalName("meshComponent");
  28. addComponent(mMeshComponent);
  29. //Collision
  30. mCollisionComponent = new ShapeCollisionComponent();
  31. if (!mCollisionComponent->registerObject())
  32. {
  33. Con::errorf("PlayerObject::onAdd - unable to add ShapeCollisionComponent!");
  34. return false;
  35. }
  36. mCollisionComponent->setInternalName("collisionComponent");
  37. addComponent(mCollisionComponent);
  38. //Animation
  39. mAnimationComponent = new ActionAnimationComponent();
  40. if (!mAnimationComponent->registerObject())
  41. {
  42. Con::errorf("PlayerObject::onAdd - unable to add ActionAnimationComponent!");
  43. return false;
  44. }
  45. mAnimationComponent->setInternalName("animationComponent");
  46. addComponent(mAnimationComponent);
  47. //Arm Animation
  48. mArmAnimationComponent = new ArmAnimationComponent();
  49. if (!mArmAnimationComponent->registerObject())
  50. {
  51. Con::errorf("PlayerObject::onAdd - unable to add ArmAnimationComponent!");
  52. return false;
  53. }
  54. mArmAnimationComponent->setInternalName("armAnimationComponent");
  55. addComponent(mArmAnimationComponent);
  56. //Physics control
  57. mPhysicsComponent = new PlayerControllerComponent();
  58. if (!mPhysicsComponent->registerObject())
  59. {
  60. Con::errorf("PlayerObject::onAdd - unable to add PhysicsComponent!");
  61. return false;
  62. }
  63. mPhysicsComponent->setInternalName("physicsComponent");
  64. addComponent(mPhysicsComponent);
  65. //State Machine
  66. mStateMachineComponent = new StateMachineComponent();
  67. if (!mStateMachineComponent->registerObject())
  68. {
  69. Con::errorf("PlayerObject::onAdd - unable to add StateMachineComponent!");
  70. return false;
  71. }
  72. mStateMachineComponent->setInternalName("stateMachineComponent");
  73. addComponent(mStateMachineComponent);
  74. //Camera
  75. mCameraComponent = new CameraComponent();
  76. if (!mCameraComponent->registerObject())
  77. {
  78. Con::errorf("PlayerObject::onAdd - unable to add CameraComponent!");
  79. return false;
  80. }
  81. mCameraComponent->setInternalName("cameraComponent");
  82. addComponent(mCameraComponent);
  83. //Camera Orbiter
  84. mCameraOrbiterComponent = new CameraOrbiterComponent();
  85. if (!mCameraOrbiterComponent->registerObject())
  86. {
  87. Con::errorf("PlayerObject::onAdd - unable to add CameraOrbiterComponent!");
  88. return false;
  89. }
  90. mCameraOrbiterComponent->setInternalName("cameraOrbiterComponent");
  91. addComponent(mCameraOrbiterComponent);
  92. //Control Object
  93. mControlObjectComponent = new ControlObjectComponent();
  94. if (!mControlObjectComponent->registerObject())
  95. {
  96. Con::errorf("PlayerObject::onAdd - unable to add ControlObjectComponent!");
  97. return false;
  98. }
  99. mControlObjectComponent->setInternalName("controlObjectComponent");
  100. addComponent(mControlObjectComponent);
  101. //Sound
  102. mSoundComponent = new SoundComponent();
  103. if (!mSoundComponent->registerObject())
  104. {
  105. Con::errorf("PlayerObject::onAdd - unable to add SoundComponent!");
  106. return false;
  107. }
  108. mSoundComponent->setInternalName("soundComponent");
  109. addComponent(mSoundComponent);
  110. //Interaction
  111. mInteractComponent = new InteractComponent();
  112. if (!mInteractComponent->registerObject())
  113. {
  114. Con::errorf("PlayerObject::onAdd - unable to add InteractComponent!");
  115. return false;
  116. }
  117. mInteractComponent->setInternalName("interactComponent");
  118. addComponent(mInteractComponent);
  119. }
  120. return true;
  121. }
  122. void PlayerObject::onRemove()
  123. {
  124. Parent::onRemove();
  125. }