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

  1. class TexOscillatorTriggered extends TexOscillator
  2.     native;
  3.  
  4. cpptext
  5. {
  6.     // UTexModifier interface
  7.     virtual FMatrix* GetMatrix(FLOAT TimeSeconds);
  8. }
  9.  
  10. enum ERetriggerAction
  11. {
  12.     RTA_Reverse,
  13.     RTA_Reset,
  14.     RTA_Ignore,
  15.     RTA_Retrigger,
  16. };
  17.  
  18. var() ERetriggerAction RetriggerAction;
  19. var() float StopAfterPeriod;
  20. var transient float TriggeredTime;
  21. var transient bool Reverse;
  22. var transient bool Triggered;
  23.  
  24. function Trigger( Actor Other, Actor EventInstigator )
  25. {
  26.     if( Triggered )
  27.     {
  28.         switch( RetriggerAction )
  29.         {
  30.         case RTA_Reverse:
  31.             Triggered = False;
  32.             TriggeredTime = Other.Level.TimeSeconds;
  33.             Reverse = True;
  34.             break;
  35.         case RTA_Reset:
  36.             Triggered = False;
  37.             TriggeredTime = -1.0;
  38.             Reverse = True;
  39.             break;
  40.         }        
  41.     }
  42.     else
  43.     {
  44.         if( RetriggerAction != RTA_Retrigger )
  45.             Triggered = True;
  46.         TriggeredTime = Other.Level.TimeSeconds;
  47.         Reverse = False;
  48.     }
  49. }
  50.  
  51. function Reset()
  52. {
  53.     Triggered = False;
  54.     TriggeredTime = -1.0;
  55.     Reverse = False;
  56. }
  57.  
  58. defaultproperties
  59. {
  60.     RetriggerAction=RTA_Retrigger
  61.     StopAfterPeriod=0.5
  62.     TriggeredTime=-1.0
  63.     Reverse=False
  64.     Triggered=False
  65.     UOscillationPhase=0
  66.     VOscillationPhase=0.25
  67.     UOscillationRate=0
  68.     VOscillationRate=0.5
  69.     UOscillationAmplitude=0
  70.     VOscillationAmplitude=0.5
  71. }
  72.