Core.Object | +--Engine.Actor | +--Engine.Info | +--XIII.MapInfo | +--XIDMaps.Map06_HualparBase
float
Alpha_Direction
void
FirstFrame()
StartSnow(float proportion)
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 }