Advertisement
jewalky

Untitled

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