MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / resetImageSlot

Method resetImageSlot

Engine/source/T3D/shapeImage.cpp:2439–2489  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2437//----------------------------------------------------------------------------
2438
2439void ShapeBase::resetImageSlot(U32 imageSlot)
2440{
2441 AssertFatal(imageSlot<MaxMountedImages,"Out of range image slot");
2442
2443 // Clear out current image
2444 MountedImage& image = mMountedImageList[imageSlot];
2445 for (U32 i=0; i<ShapeBaseImageData::MaxShapes; ++i)
2446 {
2447 delete image.shapeInstance[i];
2448 image.shapeInstance[i] = 0;
2449 }
2450
2451 // stop sound
2452 for(Vector<SFXSource*>::iterator i = image.mSoundSources.begin(); i != image.mSoundSources.end(); i++)
2453 {
2454 SFX_DELETE((*i));
2455 }
2456 image.mSoundSources.clear();
2457
2458 for (S32 i = 0; i < MaxImageEmitters; i++) {
2459 MountedImage::ImageEmitter& em = image.emitter[i];
2460 if (bool(em.emitter)) {
2461 em.emitter->deleteWhenEmpty();
2462 em.emitter = 0;
2463 }
2464 }
2465
2466 image.dataBlock = 0;
2467 image.nextImage = InvalidImagePtr;
2468 image.skinNameHandle = NetStringHandle();
2469 image.nextSkinNameHandle = NetStringHandle();
2470 image.state = 0;
2471 image.delayTime = 0;
2472 image.rDT = 0;
2473 image.ammo = false;
2474 image.triggerDown = false;
2475 image.altTriggerDown = false;
2476 image.loaded = false;
2477 image.motion = false;
2478
2479 for (U32 i=0; i<ShapeBaseImageData::MaxGenericTriggers; ++i)
2480 {
2481 image.genericTrigger[i] = false;
2482 }
2483
2484 image.lightStart = 0;
2485 if ( image.lightInfo != NULL )
2486 SAFE_DELETE( image.lightInfo );
2487
2488 updateMass();
2489}
2490
2491
2492//----------------------------------------------------------------------------

Callers

nothing calls this directly

Calls 5

NetStringHandleClass · 0.85
deleteWhenEmptyMethod · 0.80
beginMethod · 0.45
endMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected