| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- #include "playerObject.h"
- IMPLEMENT_CO_NETOBJECT_V1(PlayerObject);
- PlayerObject::PlayerObject()
- : mMeshComponent(nullptr),
- mCollisionComponent(nullptr),
- //mAnimationComponent(nullptr),
- mPhysicsComponent(nullptr)
- {
- mSuperClassName = StringTable->insert("Entity");
- }
- PlayerObject::~PlayerObject()
- {
- }
- bool PlayerObject::onAdd()
- {
- if (!Parent::onAdd())
- return false;
- //If we don't delinate from the template, just spawn as apropos here
- if (!mDirtyGameObject)
- {
- //Mesh
- mMeshComponent = new MeshComponent();
- if (!mMeshComponent->registerObject())
- {
- Con::errorf("PlayerObject::onAdd - unable to add MeshComponent!");
- return false;
- }
- mMeshComponent->setInternalName("meshComponent");
- addComponent(mMeshComponent);
- //Collision
- mCollisionComponent = new ShapeCollisionComponent();
- if (!mCollisionComponent->registerObject())
- {
- Con::errorf("PlayerObject::onAdd - unable to add ShapeCollisionComponent!");
- return false;
- }
- mCollisionComponent->setInternalName("collisionComponent");
- addComponent(mCollisionComponent);
- //Animation
- /*mAnimationComponent = new ActionAnimationComponent();
- if (!mAnimationComponent->registerObject())
- {
- Con::errorf("PlayerObject::onAdd - unable to add ActionAnimationComponent!");
- return false;
- }
- mAnimationComponent->setInternalName("animationComponent");
- addComponent(mAnimationComponent);
- //Arm Animation
- mArmAnimationComponent = new ArmAnimationComponent();
- if (!mArmAnimationComponent->registerObject())
- {
- Con::errorf("PlayerObject::onAdd - unable to add ArmAnimationComponent!");
- return false;
- }
- mArmAnimationComponent->setInternalName("armAnimationComponent");
- addComponent(mArmAnimationComponent);*/
- //Physics control
- mPhysicsComponent = new PlayerControllerComponent();
- if (!mPhysicsComponent->registerObject())
- {
- Con::errorf("PlayerObject::onAdd - unable to add PhysicsComponent!");
- return false;
- }
- mPhysicsComponent->setInternalName("physicsComponent");
- addComponent(mPhysicsComponent);
- //State Machine
- mStateMachineComponent = new StateMachineComponent();
- if (!mStateMachineComponent->registerObject())
- {
- Con::errorf("PlayerObject::onAdd - unable to add StateMachineComponent!");
- return false;
- }
- mStateMachineComponent->setInternalName("stateMachineComponent");
- addComponent(mStateMachineComponent);
- //Camera
- mCameraComponent = new CameraComponent();
- if (!mCameraComponent->registerObject())
- {
- Con::errorf("PlayerObject::onAdd - unable to add CameraComponent!");
- return false;
- }
- mCameraComponent->setInternalName("cameraComponent");
- addComponent(mCameraComponent);
- //Camera Orbiter
- mCameraOrbiterComponent = new CameraOrbiterComponent();
- if (!mCameraOrbiterComponent->registerObject())
- {
- Con::errorf("PlayerObject::onAdd - unable to add CameraOrbiterComponent!");
- return false;
- }
- mCameraOrbiterComponent->setInternalName("cameraOrbiterComponent");
- addComponent(mCameraOrbiterComponent);
- //Control Object
- mControlObjectComponent = new ControlObjectComponent();
- if (!mControlObjectComponent->registerObject())
- {
- Con::errorf("PlayerObject::onAdd - unable to add ControlObjectComponent!");
- return false;
- }
- mControlObjectComponent->setInternalName("controlObjectComponent");
- addComponent(mControlObjectComponent);
- //Sound
- mSoundComponent = new SoundComponent();
- if (!mSoundComponent->registerObject())
- {
- Con::errorf("PlayerObject::onAdd - unable to add SoundComponent!");
- return false;
- }
- mSoundComponent->setInternalName("soundComponent");
- addComponent(mSoundComponent);
- //Interaction
- mInteractComponent = new InteractComponent();
- if (!mInteractComponent->registerObject())
- {
- Con::errorf("PlayerObject::onAdd - unable to add InteractComponent!");
- return false;
- }
- mInteractComponent->setInternalName("interactComponent");
- addComponent(mInteractComponent);
- }
- return true;
- }
- void PlayerObject::onRemove()
- {
- Parent::onRemove();
- }
|