home *** CD-ROM | disk | FTP | other *** search
/ Game Level Design / GLDesign.bin / Software / UnrealEngine2Runtime / UE2Runtime-22262001_Demo.exe / Engine / Classes / ZoneInfo.uc < prev    next >
Text File  |  2003-06-23  |  4KB  |  117 lines

  1. //=============================================================================
  2. // ZoneInfo, the built-in Unreal class for defining properties
  3. // of zones.  If you place one ZoneInfo actor in a
  4. // zone you have partioned, the ZoneInfo defines the 
  5. // properties of the zone.
  6. // This is a built-in Unreal class and it shouldn't be modified.
  7. //=============================================================================
  8. class ZoneInfo extends Info
  9.     native
  10.     placeable;
  11.  
  12. #exec Texture Import File=Textures\ZoneInfo.pcx Name=S_ZoneInfo Mips=Off MASKED=1
  13.  
  14. //-----------------------------------------------------------------------------
  15. // Zone properties.
  16.  
  17. var skyzoneinfo SkyZone; // Optional sky zone containing this zone's sky.
  18. var() name ZoneTag;
  19. var() localized String LocationName; 
  20.  
  21. var() float KillZ;        // any actor falling below this level gets destroyed
  22. var() eKillZType KillZType;    // passed by FellOutOfWorldEvent(), to allow different KillZ effects
  23. var() bool bSoftKillZ;    // 2000 units of grace unless land
  24.  
  25. //-----------------------------------------------------------------------------
  26. // Zone flags.
  27.  
  28. var()        bool   bTerrainZone;        // There is terrain in this zone.
  29. var()        bool   bDistanceFog;        // There is distance fog in this zone.
  30. var()        bool   bClearToFogColor;    // Clear to fog color if distance fog is enabled.
  31.  
  32. var const array<TerrainInfo> Terrains;
  33.  
  34. //-----------------------------------------------------------------------------
  35. // Zone light.
  36. var            vector AmbientVector;
  37. var(ZoneLight) byte AmbientBrightness, AmbientHue, AmbientSaturation;
  38.  
  39. var(ZoneLight) color DistanceFogColor;
  40. var(ZoneLight) float DistanceFogStart;
  41. var(ZoneLight) float DistanceFogEnd;
  42. var(ZoneLight) float DistanceFogBlendTime;
  43.  
  44. var(ZoneLight) const texture EnvironmentMap;
  45. var(ZoneLight) float TexUPanSpeed, TexVPanSpeed;
  46.  
  47. var(ZoneSound) editinline I3DL2Listener ZoneEffect;
  48.  
  49. //------------------------------------------------------------------------------
  50.  
  51. var(ZoneVisibility) bool bLonelyZone;                                // This zone is the only one to see or never seen
  52. var(ZoneVisibility) editinline array<ZoneInfo> ManualExcludes;        // No Idea.. just sounded cool
  53.  
  54. //=============================================================================
  55. // Iterator functions.
  56.  
  57. // Iterate through all actors in this zone.
  58. native(308) final iterator function ZoneActors( class<actor> BaseClass, out actor Actor );
  59.  
  60. simulated function LinkToSkybox()
  61. {
  62.     local skyzoneinfo TempSkyZone;
  63.  
  64.     // SkyZone.
  65.     foreach AllActors( class 'SkyZoneInfo', TempSkyZone, '' )
  66.         SkyZone = TempSkyZone;
  67.     if(Level.DetailMode == DM_Low)
  68.     {
  69.         foreach AllActors( class 'SkyZoneInfo', TempSkyZone, '' )
  70.             if( !TempSkyZone.bHighDetail && !TempSkyZone.bSuperHighDetail )
  71.                 SkyZone = TempSkyZone;
  72.     }
  73.     else if(Level.DetailMode == DM_High)
  74.     {
  75.     foreach AllActors( class 'SkyZoneInfo', TempSkyZone, '' )
  76.             if( !TempSkyZone.bSuperHighDetail )
  77.                 SkyZone = TempSkyZone;
  78.     }
  79.     else if(Level.DetailMode == DM_SuperHigh)
  80.     {
  81.         foreach AllActors( class 'SkyZoneInfo', TempSkyZone, '' )
  82.             SkyZone = TempSkyZone;
  83.     }
  84. }
  85.  
  86. //=============================================================================
  87. // Engine notification functions.
  88.  
  89. simulated function PreBeginPlay()
  90. {
  91.     Super.PreBeginPlay();
  92.  
  93.     // call overridable function to link this ZoneInfo actor to a skybox
  94.     LinkToSkybox();
  95. }
  96.  
  97. // When an actor enters this zone.
  98. event ActorEntered( actor Other );
  99.  
  100. // When an actor leaves this zone.
  101. event ActorLeaving( actor Other );
  102.  
  103. defaultproperties
  104. {
  105.      KillZ=-10000.0
  106.      bStatic=True
  107.      bNoDelete=True
  108.      Texture=S_ZoneInfo
  109.      AmbientSaturation=255
  110.      DistanceFogColor=(R=128,G=128,B=128,A=0)
  111.      DistanceFogStart=3000
  112.      DistanceFogEnd=8000
  113.      DistanceFogBlendTime=1.0
  114.      TexUPanSpeed=+00001.000000
  115.      TexVPanSpeed=+00001.000000
  116. }
  117.