home *** CD-ROM | disk | FTP | other *** search
/ Game Level Design / GLDesign.bin / Software / UnrealEngine2Runtime / UE2Runtime-22262001_Demo.exe / Gameplay / Classes / ACTION_PlayAnim.uc < prev    next >
Text File  |  2003-12-11  |  1KB  |  60 lines

  1. class ACTION_PlayAnim extends ScriptedAction;
  2.  
  3. var(Action) name BaseAnim;
  4. var(Action) float BlendInTime;
  5. var(Action) float BlendOutTime;
  6. var(Action) float AnimRate;
  7. var(Action) byte AnimIterations;
  8. var(Action) bool bLoopAnim;
  9. var(Action) float StartFrame;
  10.  
  11. function bool InitActionFor(ScriptedController C)
  12. {
  13.     // play appropriate animation
  14.     C.AnimsRemaining = AnimIterations;
  15.     if ( PawnPlayBaseAnim(C,true) )
  16.         C.CurrentAnimation = self;
  17.     return false;    
  18. }
  19.  
  20. function SetCurrentAnimationFor(ScriptedController C)
  21. {
  22.     if ( C.Pawn.IsAnimating(0) )
  23.         C.CurrentAnimation = self;
  24.     else
  25.         C.CurrentAnimation = None;
  26. }
  27.  
  28. function bool PawnPlayBaseAnim(ScriptedController C, bool bFirstPlay)
  29. {
  30.     if ( BaseAnim == '' )
  31.         return false;
  32.     
  33.     C.bControlAnimations = true;
  34.     if ( bFirstPlay )
  35.         C.Pawn.PlayAnim(BaseAnim,AnimRate,BlendInTime);
  36.     else if ( bLoopAnim || (C.AnimsRemaining > 0) )
  37.         C.Pawn.LoopAnim(BaseAnim,AnimRate);
  38.     else
  39.         return false;
  40.         
  41.     if( StartFrame > 0.0 )
  42.         C.Pawn.SetAnimFrame( StartFrame, 0, 1);
  43.                 
  44.     return true;
  45. }
  46.  
  47. function string GetActionString()
  48. {
  49.     return ActionString@BaseAnim;
  50. }
  51.  
  52. defaultproperties
  53. {
  54.     BlendInTime=0.200000
  55.     BlendOutTime=0.200000
  56.     AnimRate=1.000000
  57.     StartFrame=0.000000
  58.     ActionString="play animation"
  59.     bValidForTrigger=false
  60. }