XIDMaps
Class Map06_HualparBase

source: C:\XIII\XIDMaps\Classes\Map06_HualparBase.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Info
         |
         +--XIII.MapInfo
            |
            +--XIDMaps.Map06_HualparBase
Direct Known Subclasses:Hual01a, Hual01b, Hual02, Hual04a, Hual04c

class Map06_HualparBase
extends XIII.MapInfo

//----------------------------------------------------------- // //-----------------------------------------------------------
Variables
 float Alpha_Direction


Function Summary
 void FirstFrame()
 void StartSnow(float proportion)



Source Code


00001	//-----------------------------------------------------------
00002	//
00003	//-----------------------------------------------------------
00004	class Map06_HualparBase extends MapInfo placeable;
00005	
00006	VAR(Snow) Float Distance;
00007	VAR(Snow) Int FlakeByCube;
00008	VAR(Snow) Texture FlakeTexture;
00009	VAR(Snow) Float FlakeSize;
00010	VAR(Snow) Vector BaseFlakeSpeed;
00011	VAR(Snow) Float FlakeSpeedDisturbance;
00012	VAR(Snow) Float RandomFlakeAcceleration;
00013	VAR(Snow) bool Activate;
00014	VAR(Snow) float FadeTime;
00015	VAR   float Alpha_Direction;
00016	
00017	FUNCTION FirstFrame()
00018	{
00019		Disable('tick');
00020		Super.FirstFrame();
00021	
00022		if (Activate)
00023		{
00024			StartSnow(1.0);
00025			Alpha_Direction=1;
00026		}
00027		else
00028		{
00029			Alpha_Direction=0;
00030		}
00031	
00032	}
00033	
00034	FUNCTION StartSnow(float proportion)
00035	{
00036		LOCAL DelimitationVolume dv;
00037		LOCAL Box dvBox;
00038	
00039		Level.InitRndCubeSpr( FlakeTexture, FlakeByCube, proportion, Distance );
00040		Level.SetRndCubeSprSpeed( BaseFlakeSpeed, FlakeSpeedDisturbance, RandomFlakeAcceleration );
00041		Level.SetRndCubeSprSize( FlakeSize );
00042	
00043		foreach allactors(class'DelimitationVolume',dv)
00044		{
00045			dvBox=dv.GetBoundingBox();
00046			if (dvBox.IsValid!=0)
00047				Level.AddRndCubeSprExclude( dvBox.Min, dvBox.Max+vect(1,1,1) );
00048		}
00049	
00050		Level.SetRndCubeSprState( True );
00051	}
00052	
00053	EVENT Trigger(actor a,pawn p)
00054	{
00055		if (!Activate)
00056		{
00057			StartSnow(0.0);
00058			Activate=true;
00059		}
00060		Alpha_Direction=1-Alpha_Direction;
00061		Enable('tick');
00062	}
00063	
00064	EVENT Tick(float dt)
00065	{
00066		if (Alpha_Direction!=-1)
00067			if (Level.ChangeRndCubeSprProp(Alpha_Direction,dt/FadeTime,0.1/*FlakeByCube*/))
00068				Disable('Tick');
00069	}
00070	
00071	
00072	
00073	defaultproperties
00074	{
00075	     Distance=512.000000
00076	     FlakeByCube=1500
00077	     FlakeTexture=Texture'XIIICine.snowflake'
00078	     FlakeSize=2.000000
00079	     BaseFlakeSpeed=(Z=-25.000000)
00080	     FlakeSpeedDisturbance=25.000000
00081	     RandomFlakeAcceleration=1.000000
00082	     fadeTime=1.000000
00083	     Alpha_Direction=-1.000000
00084	}

End Source Code