예제 #1
0
void GameBase::DestroyTransitionAggregate( )
{
	if( !m_pTransAgg ) return;

#ifndef _FINAL
	CTransitionAggregate *pIAgg = dynamic_cast<CTransitionAggregate*>(m_pTransAgg);
	if( !pIAgg )
	{
		g_pLTServer->CPrint( "NOT a CTransitionAggregate!!!" );
		return;
	}
#endif

	RemoveAggregate( (LPAGGREGATE)m_pTransAgg );
	s_bankCTransAggs.Delete( m_pTransAgg );
	m_pTransAgg = NULL;
}
void CAnimationMgr::DestroyAnimationContext(CAnimationContext* pAnimationContext)
{
	pAnimationContext->Term();
	s_bankCAnimationContext.Delete(pAnimationContext);
}
예제 #3
0
__declspec(dllexport) void fxDelete(CBaseFX *pDeleteFX)
{
	// Figure out what kind of FX we are deleting and make sure the propper bank handles it...

	switch( pDeleteFX->GetFXType() )
	{
		case CBaseFX::eParticleSystemFX :
		{
			g_ParticleSystemFX_Bank.Delete( (CParticleSystemFX*)pDeleteFX );
		}
		break;

		case CBaseFX::eSpriteFX :
		{
			g_SpriteFX_Bank.Delete( (CSpriteFX*)pDeleteFX );
		}
		break;

		case CBaseFX::eLTBModelFX :
		{
			g_LTBModelFX_Bank.Delete( (CLTBModelFX*)pDeleteFX );
		}
		break;

		case CBaseFX::eDynaLightFX :
		{
			g_DynaLightFX_Bank.Delete( (CDynaLightFX*)pDeleteFX );
		}
		break;

		case CBaseFX::ePlaySoundFX :
		{
			g_PlaySoundFX_Bank.Delete( (CPlaySoundFX*)pDeleteFX );
		}
		break;

		case CBaseFX::eCamJitterFX :
		{
			g_CamJitterFX_Bank.Delete( (CCamJitterFX*)pDeleteFX );
		}
		break;

		case CBaseFX::eCamWobbleFX :
		{
			g_CamWobbleFX_Bank.Delete( (CCamWobbleFX*)pDeleteFX );
		}
		break;

		case CBaseFX::eLTBBouncyChunkFX :
		{
			g_LTBBouncyChunkFX_Bank.Delete( (CLTBBouncyChunkFX*)pDeleteFX );
		}
		break;

		case CBaseFX::eNullFX :
		{
			g_NullFX_Bank.Delete( (CNullFX*)pDeleteFX );
		}
		break;

		case CBaseFX::ePolyTubeFX :
		{
			g_PolyTubeFX_Bank.Delete( (CPolyTubeFX*)pDeleteFX );
		}
		break;

		case CBaseFX::ePlayRandomSoundFX :
		{
			g_PlayRandomSoundFX_Bank.Delete( (CPlayRandomSoundFX*)pDeleteFX );
		}
		break;

		case CBaseFX::eSpriteSystem :
		{
			g_SpriteSystem_Bank.Delete( (CSpriteSystem*)pDeleteFX );
		}
		break;

		case CBaseFX::eCreateFX :
		{
			g_CreateFX_Bank.Delete( (CCreateFX*)pDeleteFX );
		}
		break;

		case CBaseFX::eFlareSpriteFX :
		{
			g_FlareSpriteFX_Bank.Delete( (CFlareSpriteFX*)pDeleteFX );
		}
		break;

		case CBaseFX::eLightningFX :
		{
			g_LightningFX_Bank.Delete( (CLightningFX*)pDeleteFX );
		}
		break;

		default:
		{	
			// We should never be getting here!
			ASSERT( LTFALSE );
		}
		break;
	}
	
}
예제 #4
0
파일: SFXMgr.cpp 프로젝트: Arc0re/lithtech
void CSFXMgr::DeleteSFX(CSpecialFX* pFX)
{
	// Make sure we've got a valid pointer
	if (!pFX)
		return;

	// Make sure we don't try to delete the static fx(s)...
	if (pFX == &s_WeaponFX)
		return;

	// Alrighty, get the ID from the effect...
	switch(pFX->GetSFXID())
	{
		// Delete it from the right place...

		case SFX_PLAYERSOUND_ID :
		{
			g_SFXBank_PlayerSound.Delete((CPlayerSoundFX*)pFX);
		}
		break;

		case SFX_MARK_ID :
		{
			g_SFXBank_Mark.Delete((CMarkSFX*)pFX);
		}
		break;

		case SFX_SHELLCASING_ID :
		{
			g_SFXBank_ShellCasing.Delete((CShellCasingFX*)pFX);
		}
		break;

		case SFX_PROJECTILE_ID :
		{
			g_SFXBank_Projectile.Delete((CProjectileFX*)pFX);
		}
		break;

		case SFX_CAMERA_ID :
		{
			g_SFXBank_Camera.Delete((CCameraFX*)pFX);
		}
		break;

		case SFX_POLYGRID_ID :
		{
			g_SFXBank_PolyGrid.Delete((CPolyGridFX*)pFX);
		}
		break;

		case SFX_RENDERTARGET_ID :
		{
			g_SFXBank_RenderTarget.Delete((CRenderTargetFX*)pFX);
		}
		break;

		case SFX_RENDERTARGETGROUP_ID :
		{
			g_SFXBank_RenderTargetGroup.Delete((CRenderTargetGroupFX*)pFX);
		}
		break;

		case SFX_EXPLOSION_ID :
		{
			g_SFXBank_Explosion.Delete((CExplosionFX*)pFX);
		}
		break;

		case SFX_VOLUMEBRUSH_ID :
		{
			g_SFXBank_VolumeBrush.Delete((CVolumeBrushFX*)pFX);
		}
		break;

		case SFX_CHARACTER_ID :
		{
			g_SFXBank_Character.Delete((CCharacterFX*)pFX);
		}
		break;

		case SFX_SEARCHLIGHT_ID :
		{
			g_SFXBank_SearchLight.Delete((CSearchLightFX*)pFX);
		}
		break;

		case SFX_PICKUPITEM_ID :
		{
			g_SFXBank_PickupItem.Delete((CPickupItemFX*)pFX);
		}
		break;

		case SFX_AIMMAGNET_ID :
		{
			g_SFXBank_AimMagnet.Delete((CAimMagnetFX*)pFX);
		}
		break;

		case SFX_NAVMARKER_ID :
		{
			g_SFXBank_NavMarker.Delete((CNavMarkerFX*)pFX);
		}
		break;

		case SFX_LADDER_ID :
		{
			g_SFXBank_Ladder.Delete((CLadderFX*)pFX);
		}
		break;

		case SFX_SPECIALMOVE_ID :
		{
			g_SFXBank_SpecialMove.Delete((CSpecialMoveFX*)pFX);
		}
		break;

		case SFX_FINISHINGMOVE_ID :
		{
			g_SFXBank_FinishingMove.Delete((CFinishingMoveFX*)pFX);
		}
		break;

		case SFX_DEBUGLINE_ID :
		{
			g_SFXBank_DebugLine.Delete((CDebugLineFX*)pFX);
		}
		break;

		case SFX_SNOW_ID :
		{
			g_SFXBank_Snow.Delete((CSnowFX*)pFX);
		}
		break;

		case SFX_JUMPVOLUME_ID :
		{
			g_SFXBank_JumpVolume.Delete((CJumpVolumeFX*)pFX);
		}
		break;

		case SFX_DYNAMIC_SECTOR_ID :
		{
			g_SFXBank_DynamicSectorVolume.Delete((CDynamicSectorVolumeFX*)pFX);
		}
		break;

		case SFX_SCATTER_ID :
		{
			g_SFXBank_Scatter.Delete((CScatterFX*)pFX);
		}
		break;

		case SFX_TRIGGER_ID :
		{
			g_SFXBank_Trigger.Delete((CTriggerFX*)pFX);
		}
		break;

		case SFX_FORENSICOBJECT_ID :
		{
			g_SFXBank_ForensicObject.Delete((CForensicObjectFX*)pFX);
		}
		break;

		case SFX_TURRET_ID:
		{
			g_SFXBank_Turret.Delete( (CTurretFX*)pFX );
		}
		break;

		case SFX_TEAMCLIENTFX_ID:
		{
			g_SFXBank_TeamClientFx.Delete( (TeamClientFXSFX*)pFX );
		}
		break;

		case SFX_CTFFLAGBASE_ID:
		case SFX_CTFFLAG_ID:
		case SFX_CONTROLPOINT_ID:
		{
			delete pFX;
		}
		break;

		case SFX_SOUND_NONPOINT_ID:
		{
			g_SFXBank_SoundNonPoint.Delete( (CSoundNonPointFX*)pFX );
		}
		break;

		case SFX_VOLUMETRICLIGHT_ID:
		{
			g_SFXBank_VolumetricLight.Delete( (CVolumetricLightFX*)pFX );
		}
		break;

		case SFX_ENTRYTOOLLOCK_ID:
		{
			g_SFXBank_EntryToolLock.Delete( (CEntryToolLockFX*)pFX );
		}
		break;

		case SFX_SCREENEFFECT_ID:
		{
			g_SFXBank_ScreenEffect.Delete( (CScreenEffectFX*)pFX );
		}
		break;

		case SFX_ACTIVATEOBJECT_ID :
		{
			g_SFXBank_ActivateObject.Delete( (CActivateObjectFX*)pFX);
		}
		break;

		case SFX_PHYSICS_CONSTRAINT_ID:
		{
			g_SFXBank_PhysicsConstraintFX.Delete( (CPhysicsConstraintFX*)pFX );
		}
		break;

		case SFX_PHYSICS_COLLISION_SYSTEM_ID:
		{
			g_SFXBank_PhysicsCollisionSystemFX.Delete( (CPhysicsCollisionSystemFX*)pFX );
		}
		break;

		// Ok, it's not a banked effect
		default:
		{
			debug_delete(pFX);
		}
		break;
	}
}