Advertisement
jewalky

Untitled

Jan 21st, 2017
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.60 KB | None | 0 0
  1. class MyHandler : RenderEventHandler
  2. {
  3.     Actor a;
  4.     int c;
  5.     uint oldTranslation;
  6.    
  7.     override void RenderFrame()
  8.     {
  9.         c = 0;
  10.     }
  11.    
  12.     override void RenderCamera()
  13.     {
  14.         c++;
  15.     }
  16.    
  17.     override void RenderBeforeThing()
  18.     {
  19.         oldTranslation = CurrentThing.translation;
  20.         if (oldTranslation > 0)
  21.             return;
  22.         if (c != 1)
  23.             CurrentThing.A_SetTranslation('REDTRANSLATION');
  24.     }
  25.    
  26.     override void RenderAfterThing()
  27.     {
  28.         CurrentThing.translation = oldTranslation;
  29.     }
  30. }
  31.  
  32. class TestActor : Actor
  33. {
  34.     Default
  35.     {
  36.         +NOBLOCKMAP;
  37.         +NOGRAVITY;
  38.         +WALLSPRITE;
  39.        
  40.         RenderStyle 'Translucent';
  41.     }
  42.    
  43.     States
  44.     {
  45.     Spawn:
  46.         TNT1 A 1;
  47.         loop;
  48.     }
  49.  
  50.     override void BeginPlay()
  51.     {
  52.         Super.BeginPlay();
  53.         A_Log(String.Format("picnum = %d", picnum));
  54.         picnum = TexMan.CheckForTexture("M_DOOM", TexMan.Type_Any);
  55.         if (!picnum.Exists() || !picnum.IsValid())
  56.         {
  57.             A_Log("failed");
  58.             Destroy();
  59.             return;
  60.         }
  61.         A_Log("ok");
  62.         //A_Log(String.Format("picnum = %d", picnum));
  63.        
  64.         // test: register handler
  65.         MyHandler hndlr = MyHandler(EventHandler.CreateOnce('MyHandler'));
  66.         if (hndlr)
  67.         {
  68.             hndlr.a = self;
  69.             EventHandler.Register(hndlr);
  70.         }
  71.        
  72.         SetOrigin((pos.x, pos.y, pos.z+48.0), false);
  73.     }
  74.    
  75.     override void Tick()
  76.     {
  77.         Super.Tick();
  78.         //A_Log(String.Format("picnum = %d", picnum));
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement