MCPcopy Create free account
hub / github.com/OpenDungeons/OpenDungeons / rrPickUpEntity

Method rrPickUpEntity

source/render/RenderManager.cpp:976–998  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

974}
975
976void RenderManager::rrPickUpEntity(GameEntity* curEntity, Player* localPlayer)
977{
978 Ogre::Entity* ent = mSceneManager->getEntity("keeperHandEnt");
979 if(ent->hasAnimationState("Pickup"))
980 mHandAnimationState = setEntityAnimation(ent, "Pickup", false);
981
982 // Detach the entity from its scene node
983 Ogre::SceneNode* curEntityNode = curEntity->getEntityNode();
984 curEntity->setParentNodeDetachFlags(
985 EntityParentNodeAttach::DETACH_PICKEDUP, true);
986
987 // We make sure the creature will be rendered over the scene by adding it to the same render queue as the keeper hand (and
988 // by clearing the depth buffer in ODFrameListener)
989 changeRenderQueueRecursive(curEntityNode, OD_RENDER_QUEUE_ID_GUI);
990
991 // Attach the creature to the hand scene node
992 mHandKeeperNode->addChild(curEntityNode);
993 // When something is picked up, we do a relative scale to allow to see bigger
994 // things... bigger
995 curEntityNode->scale(Ogre::Vector3::UNIT_SCALE * KEEPER_HAND_CREATURE_PICKED_SCALE);
996
997 rrOrderHand(localPlayer);
998}
999
1000void RenderManager::rrDropHand(GameEntity* curEntity, Player* localPlayer)
1001{

Callers 1

pickUpEntityMethod · 0.80

Calls 2

getEntityNodeMethod · 0.80

Tested by

no test coverage detected