Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 25th, 2012  |  syntax: None  |  size: 1.12 KB  |  hits: 12  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Anonymous Marker Interface in C#?
  2. foreach (var component in Components)
  3.         {
  4.             if (component.Enabled)
  5.                 component.Update(gameTime);
  6.  
  7.             if (component.Litsening)
  8.                 component.HandleInput(gameTime, InputManager);
  9.         }
  10.        
  11. foreach ((IInputHandler, IUpdateable) component in Components)
  12.         {
  13.             if (component.Enabled)
  14.                 component.Update(gameTime);
  15.  
  16.             if (component.Litsening)
  17.                 component.HandleInput(gameTime, InputManager);
  18.         }
  19.        
  20. foreach (var component in Components.OfType<IUpdateable>())        
  21.   if (component.Enabled)
  22.     component.Update(gameTime);
  23.  
  24. foreach (var component in Components.OfType<IInputHandler>())
  25.   if (component.Litsening)
  26.     component.HandleInput(gameTime, InputManager);
  27.        
  28. public interface IGameComponent : IUpdateable, IInputHandler
  29. { }
  30.        
  31. var componentsWeDesire = Components.Where(c => typeof(IInputHandler).IsAssignableFrom(c.GetType())
  32.                                                || typeof(IUpdateable).IsAssignableFrom(c.GetType());
  33.  
  34. foreach(var component in componentsWeDesire)
  35. {
  36.     // ...
  37. }