12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- class ContaminatedArea_Base : EffectArea
- {
- override void OnPlayerEnterServer(PlayerBase player, EffectTrigger trigger)
- {
- super.OnPlayerEnterServer(player, trigger);
- player.IncreaseContaminatedAreaCount();
- }
-
- override void OnPlayerExitServer(PlayerBase player, EffectTrigger trigger)
- {
- super.OnPlayerExitServer(player, trigger);
- player.DecreaseContaminatedAreaCount();
- }
-
- override void InitZoneClient()
- {
- super.InitZoneClient();
-
- g_Game.GetMission().GetDynamicMusicPlayer().RegisterDynamicLocation(this, DynamicMusicLocationTypes.CONTAMINATED_ZONE, m_Radius);
- }
-
- override void EEDelete(EntityAI parent)
- {
- super.EEDelete(parent);
-
- if (!g_Game.IsServer())
- g_Game.GetMission().GetDynamicMusicPlayer().UnregisterDynamicLocation(this);
- }
- }
- class ContaminatedArea_Static : ContaminatedArea_Base
- {
- // ----------------------------------------------
- // INITIAL SETUP
- // ----------------------------------------------
-
- override void EEInit()
- {
- if (!m_ToxicClouds)
- m_ToxicClouds = new array<Particle>();
-
- SetSynchDirty();
-
- super.EEInit();
- }
-
- override void DeferredInit()
- {
- super.DeferredInit();
-
- InitZone();
- }
-
- override void InitZoneServer()
- {
- super.InitZoneServer();
-
- // We create the trigger on server
- if (m_TriggerType != "")
- CreateTrigger(m_PositionTrigger, m_Radius);
- }
-
- override void InitZoneClient()
- {
- super.InitZoneClient();
-
- // We spawn VFX on client
- FillWithParticles(m_Position, m_Radius, m_OuterRingOffset, m_InnerSpacing, m_ParticleID);
- }
-
- override void OnDebugSpawn()
- {
- super.OnDebugSpawn();
-
- InitZone();
- }
- }
|