Core.Object | +--Engine.Actor | +--Engine.Triggers | +--Botpack.TriggeredTexture
int
CurrentTexture
Texture
DestinationTexture
Textures[10]
bool
bTriggerOnceOnly
00001 class TriggeredTexture extends Triggers; 00002 00003 var() Texture DestinationTexture; 00004 var() Texture Textures[10]; 00005 var() bool bTriggerOnceOnly; 00006 00007 var int CurrentTexture; 00008 00009 replication 00010 { 00011 reliable if( Role==ROLE_Authority ) 00012 CurrentTexture; 00013 } 00014 00015 simulated event PostBeginPlay() 00016 { 00017 Super.PostBeginPlay(); 00018 CurrentTexture = 0; 00019 00020 if( ScriptedTexture(DestinationTexture) != None ) 00021 ScriptedTexture(DestinationTexture).NotifyActor = Self; 00022 } 00023 00024 simulated event Destroyed() 00025 { 00026 if( ScriptedTexture(DestinationTexture) != None && ScriptedTexture(DestinationTexture).NotifyActor == Self) 00027 ScriptedTexture(DestinationTexture).NotifyActor = None; 00028 00029 Super.Destroyed(); 00030 } 00031 00032 event Trigger( Actor Other, Pawn EventInstigator ) 00033 { 00034 if( bTriggerOnceOnly && (Textures[CurrentTexture + 1] == None || CurrentTexture == 9) ) 00035 return; 00036 00037 CurrentTexture++; 00038 if( Textures[CurrentTexture] == None || CurrentTexture == 10 ) 00039 CurrentTexture = 0; 00040 } 00041 00042 simulated event RenderTexture( ScriptedTexture Tex ) 00043 { 00044 Tex.DrawTile( 0, 0, Tex.USize, Tex.VSize, 0, 0, Textures[CurrentTexture].USize, Textures[CurrentTexture].VSize, Textures[CurrentTexture], False ); 00045 } 00046 00047 defaultproperties 00048 { 00049 bNoDelete=True 00050 bAlwaysRelevant=True 00051 RemoteRole=ROLE_SimulatedProxy 00052 }