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

Method createAllEntities

source/gamemap/GameMap.cpp:912–1026  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

910}
911
912void GameMap::createAllEntities()
913{
914 mTileSet = ConfigManager::getSingleton().getTileSet(mTileSetName);
915
916 if(isServerGameMap())
917 {
918 // Set positions and update active spots
919 for (RenderedMovableEntity* rendered : mRenderedMovableEntities)
920 {
921 rendered->setPosition(rendered->getPosition());
922 }
923
924 for (Room* room : mRooms)
925 {
926 room->updateActiveSpots();
927 }
928
929 for (Spell* spell : mSpells)
930 {
931 spell->setPosition(spell->getPosition());
932 }
933
934 for (Trap* trap : mTraps)
935 {
936 trap->updateActiveSpots();
937 }
938
939 for (Creature* creature : mCreatures)
940 {
941 //Set up definition for creature. This was previously done in createMesh for some reason.
942 creature->setupDefinition(*this, *ConfigManager::getSingleton().getCreatureDefinitionDefaultWorker());
943 //Set position to update info on what tile the creature is in.
944 creature->setPosition(creature->getPosition());
945 //Doesn't do anything currently.
946 //creature->restoreInitialEntityState();
947 }
948 }
949 else
950 {
951 // On client we create meshes
952 // Create OGRE entities for map tiles
953 for (int jj = 0; jj < getMapSizeY(); ++jj)
954 {
955 for (int ii = 0; ii < getMapSizeX(); ++ii)
956 {
957 getTile(ii,jj)->createMesh();
958 }
959 }
960
961 // Create OGRE entities for rendered entities
962 for (RenderedMovableEntity* rendered : mRenderedMovableEntities)
963 {
964 rendered->createMesh();
965 rendered->setPosition(rendered->getPosition());
966 }
967
968 // Create OGRE entities for the creatures
969 for (Creature* creature : mCreatures)

Callers 2

serverThreadMethod · 0.80
processMessageMethod · 0.80

Calls 7

getTileSetMethod · 0.80
setupDefinitionMethod · 0.80
createMeshMethod · 0.80
setPositionMethod · 0.45
updateActiveSpotsMethod · 0.45

Tested by

no test coverage detected