## Engine
Class ZoneInfo

source: C:\XIII\Engine\Classes\ZoneInfo.uc

    Core.Object
       |
       +--Engine.Actor
          |
          +--Engine.Info
             |
             +--Engine.ZoneInfo

Direct Known Subclasses:LevelInfo, SkyZoneInfo, WarpZoneInfo

class ZoneInfo
extends Engine.Info

    //=============================================================================
    // ZoneInfo, the built-in Unreal class for defining properties
    // of zones.  If you place one ZoneInfo actor in a
    // zone you have partioned, the ZoneInfo defines the
    // properties of the zone.
    // This is a built-in Unreal class and it shouldn't be modified.
    //=============================================================================

Variables
`FlashEffectStruct` | `FlashEffectDesc` Force clear to be done.
`byte` | `MaxLightCount` maximum number of lights to use (when MeshPolyCount drops below MinLightingPolyCount)
`int` | `MaxLightingPolyCount` maximum number of lights to use (when MeshPolyCount drops below MinLightingPolyCount)
`byte` | `MinLightCount` minimum number of lights to use (when MaxLightingPolyCount is exceeded)
`int` | `MinLightingPolyCount` maximum number of lights to use (when MeshPolyCount drops below MinLightingPolyCount)
`SkyZoneInfo` | `SkyZone` Optional sky zone containing this zone's sky.
`SkyZoneInfo` | `SkyZoneUser` Sky zone defined by the user.
`array` | `Terrains` Force clear to be done.
`name` | `ZoneTag` Optional sky zone containing this zone's sky.
`bool` | `bDistanceFog` There is distance fog in this zone.
`bool` | `bFogPerZone` Apply to each visible zone its own fog.
`bool` | `bFogZone` Zone is fog-filled.
`bool` | `bForceClear` Force clear to be done.
`bool` | `bTerrainZone` There is terrain in this zone.

Function Summary
`simulated` | `LinkToSkybox()`
    // Iterate through all actors in this zone.
`simulated` | `PreBeginPlay()`
    //=============================================================================
    // Engine notification functions.

Source Code

    00001	//=============================================================================
    00002	// ZoneInfo, the built-in Unreal class for defining properties
    00003	// of zones.  If you place one ZoneInfo actor in a
    00004	// zone you have partioned, the ZoneInfo defines the
    00005	// properties of the zone.
    00006	// This is a built-in Unreal class and it shouldn't be modified.
    00007	//=============================================================================
    00008	class ZoneInfo extends Info
    00009		native
    00010		placeable;
    00011
    00012	#exec Texture Import File=Textures\ZoneInfo.pcx Name=S_ZoneInfo Mips=Off MASKED=1 COMPRESS=DXT1
    00013
    00014	//-----------------------------------------------------------------------------
    00015	// Zone properties.
    00016
    00017	var skyzoneinfo SkyZone; // Optional sky zone containing this zone's sky.
    00018	var() name ZoneTag;
    00019	var() skyzoneinfo SkyZoneUser; // Sky zone defined by the user.
    00020
    00021	//-----------------------------------------------------------------------------
    00022	// Zone flags.
    00023
    00024	var() const bool   bFogZone;     // Zone is fog-filled.
    00025	var()		bool   bTerrainZone;	// There is terrain in this zone.
    00026	var()		bool   bDistanceFog;	// There is distance fog in this zone.
    00027	var()		bool   bFogPerZone;		// Apply to each visible zone its own fog.
    00028	var()		bool   bForceClear;		// Force clear to be done.
    00029
    00030	var const array<TerrainInfo> Terrains;
    00031
    00032	//-----------------------------------------------------------------------------
    00033	// Zone light.
    00034
    00035	var(ZoneLight) byte AmbientBrightness, AmbientHue, AmbientSaturation;
    00036
    00037	var(ZoneLight) color DistanceFogColor;
    00038	var(ZoneLight) float DistanceFogStart;
    00039	var(ZoneLight) float DistanceFogEnd;
    00040
    00041	var(ZoneLight) const texture EnvironmentMap;
    00042	var(ZoneLight) float TexUPanSpeed, TexVPanSpeed;
    00043
    00044	//-----------------------------------------------------------------------------
    00045	// Zone cartoon.
    00046
    00047	var(ZoneCartoon) byte LightCurveShadow, LightCurveBright, AmbientIntensity;
    00048
    00049	//-----------------------------------------------------------------------------
    00050	// Flash effect.
    00051
    00052	struct FlashEffectStruct
    00053	{
    00054		var() bool     IsActivated;
    00055		var() bool     NoGrey;
    00056		var() byte     Contrast;
    00057		var() byte     Brightness;
    00058		var() byte     LayerBrightness;
    00059		var() color    LayerColor;
    00060		var() float    LayerSampling[8];
    00061	};
    00062
    00063	var (FlashEffect) FlashEffectStruct FlashEffectDesc;
    00064
    00065	//-----------------------------------------------------------------------------
    00066	// Reverb.
    00067
    00068	// Settings.
    00069	var(Reverb) bool bReverbZone;
    00070	var(Reverb) bool bRaytraceReverb;
    00071	var(Reverb) float SpeedOfSound;
    00072	var(Reverb) byte MasterGain;
    00073	var(Reverb) int  CutoffHz;
    00074	var(Reverb) byte Delay[6];
    00075	var(Reverb) byte Gain[6];
    00076
    00077	//LEGEND:begin
    00078	//-----------------------------------------------------------------------------
    00079	// Lens flare.
    00080
    00081	var(LensFlare) texture LensFlare[12];
    00082	var(LensFlare) float LensFlareOffset[12];
    00083	var(LensFlare) float LensFlareScale[12];
    00084
    00085	//-----------------------------------------------------------------------------
    00086	// per-Zone mesh LOD lighting control
    00087
    00088	// the number of lights applied to the actor mesh is interpolated between the following
    00089	// properties, as a function of the MeshPolyCount for the previous frame.
    00090	var() byte MinLightCount; // minimum number of lights to use (when MaxLightingPolyCount is exceeded)
    00091	var() byte MaxLightCount; // maximum number of lights to use (when MeshPolyCount drops below MinLightingPolyCount)
    00092	var() int MinLightingPolyCount;
    00093	var() int MaxLightingPolyCount;
    00094	// (NOTE: the default LOD properties (below) have no effect on the mesh lighting behavior)
    00095	//LEGEND:end
    00096
    00097	//=============================================================================
    00098	// Iterator functions.
    00099
    00100	// Iterate through all actors in this zone.
    00101	native(308) final iterator function ZoneActors( class<actor> BaseClass, out actor Actor );
    00102
    00103	simulated function LinkToSkybox()
    00104	{
    00105		local skyzoneinfo TempSkyZone;
    00106
    00107		if ( SkyZoneUser != None )
    00108		{
    00109			SkyZone = SkyZoneUser;
    00110		}
    00111		else
    00112		{
    00113			// SkyZone.
    00114			foreach AllActors( class 'SkyZoneInfo', TempSkyZone, '' )
    00115				SkyZone = TempSkyZone;
    00116			foreach AllActors( class 'SkyZoneInfo', TempSkyZone, '' )
    00117				if( TempSkyZone.bHighDetail == Level.bHighDetailMode )
    00118					SkyZone = TempSkyZone;
    00119		}
    00120	}
    00121
    00122	//=============================================================================
    00123	// Engine notification functions.
    00124
    00125	simulated function PreBeginPlay()
    00126	{
    00127		Super.PreBeginPlay();
    00128
    00129		// call overridable function to link this ZoneInfo actor to a skybox
    00130		LinkToSkybox();
    00131	}
    00132
    00133	// When an actor enters this zone.
    00134	event ActorEntered( actor Other );
    00135
    00136	// When an actor leaves this zone.
    00137	event ActorLeaving( actor Other );
    00138
    00139	defaultproperties
    00140	{
    00141	     AmbientSaturation=255
    00142	     DistanceFogColor=(B=128,G=128,R=128)
    00143	     DistanceFogStart=3000.000000
    00144	     DistanceFogEnd=8000.000000
    00145	     TexUPanSpeed=1.000000
    00146	     TexVPanSpeed=1.000000
    00147	     LightCurveShadow=144
    00148	     LightCurveBright=255
    00149	     AmbientIntensity=128
    00150	     FlashEffectDesc=(Contrast=128,Brightness=64,LayerBrightness=128,LayerColor=(B=255,G=204,R=204,A=255),LayerSampling[0]=0.400000,LayerSampling[1]=0.400000,LayerSampling[2]=0.550000,LayerSampling[3]=0.550000,LayerSampling[4]=0.750000,LayerSampling[5]=0.750000)
    00151	     MasterGain=100
    00152	     CutoffHz=6000
    00153	     Delay(0)=20
    00154	     Delay(1)=34
    00155	     Gain(0)=150
    00156	     Gain(1)=70
    00157	     MinLightCount=6
    00158	     MaxLightCount=6
    00159	     MinLightingPolyCount=1000
    00160	     MaxLightingPolyCount=5000
    00161	     bStatic=True
    00162	     bNoDelete=True
    00163	     Texture=Texture'Engine.S_ZoneInfo'
    00164	}

End Source Code