MCPcopy Create free account
hub / github.com/carbonengine/trinity / CreateSpaceObject

Method CreateSpaceObject

trinity/Eve/SpaceObjectFactory/EveSOF.cpp:417–458  ·  view source on GitHub ↗

-------------------------------------------------------------------------------- Description: Create the spaceobject class dependent on requested size --------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

415// Create the spaceobject class dependent on requested size
416// --------------------------------------------------------------------------------
417EveSpaceObject2Ptr EveSOF::CreateSpaceObject( const EveSOFDNAPtr dna ) const
418{
419 EveSpaceObject2Ptr spaceObject = nullptr;
420
421 switch( dna->GetBuildClass() )
422 {
423 case EveSOFDataHull::BUILDCLASS_STATIONARY: {
424 EveStation2Ptr newStation;
425 newStation.CreateInstance();
426 spaceObject = newStation;
427 }
428 break;
429 case EveSOFDataHull::BUILDCLASS_MOBILE: {
430 EveMobilePtr newMobile;
431 newMobile.CreateInstance();
432 spaceObject = newMobile;
433 }
434 break;
435 case EveSOFDataHull::BUILDCLASS_SHIP: {
436 EveShip2Ptr newShip;
437 newShip.CreateInstance();
438 spaceObject = newShip;
439 }
440 break;
441 case EveSOFDataHull::BUILDCLASS_SWARM: {
442 EveSwarmPtr newSwarm;
443 newSwarm.CreateInstance();
444 spaceObject = newSwarm;
445 }
446 break;
447 case EveSOFDataHull::BUILDCLASS_EXTENSION: {
448 EveMobilePtr newRoot;
449 newRoot.CreateInstance();
450 spaceObject = newRoot;
451 }
452 break;
453 default:
454 break;
455 }
456
457 return spaceObject;
458}
459
460// --------------------------------------------------------------------------------
461// Description:

Callers

nothing calls this directly

Calls 2

GetBuildClassMethod · 0.80
CreateInstanceMethod · 0.80

Tested by

no test coverage detected