UEXDev

SceneManager Implementierung

May 6th, 2012
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.08 KB | None | 0 0
  1. public class SceneManager : DrawableGameComponent
  2. {
  3.     public SceneManager(Game game)
  4.         : base(game)
  5.     {
  6.         Scenes = new Dictionary<int,SceneBase>();
  7.     }
  8.  
  9.     /// <summary>
  10.     /// Die derzeit aktive Szene
  11.     /// </summary>
  12.     public SceneBase ActiveScene { get; private set; }
  13.    
  14.     /// <summary>
  15.     /// Die Auflistung aller Szenen
  16.     /// </summary>
  17.     public Dictionary<int, SceneBase> Scenes { get; private set; }
  18.  
  19.     /// <summary>
  20.     /// Fügt eine neue Szene mit einem Key hinzu
  21.     /// </summary>
  22.     public void AddScene(int key, SceneBase scene)
  23.     {
  24.         Scenes[key] = scene;
  25.     }
  26.  
  27.     /// <summary>
  28.     /// Zeigt die Szene mit dem übergebenen Key an
  29.     /// </summary>
  30.     public void ShowScene(int key)
  31.     {
  32.         if (ActiveScene != null)
  33.             ActiveScene.Hide();
  34.  
  35.         ActiveScene = Scenes[key];
  36.         ActiveScene.Show();
  37.     }
  38.    
  39.     public override void Update(GameTime gameTime)
  40.     {
  41.         if(ActiveScene != null)
  42.             ActiveScene.Update(gameTime);
  43.  
  44.         base.Update(gameTime);
  45.     }
  46.  
  47.     public override void Draw(GameTime gameTime)
  48.     {
  49.         if (ActiveScene != null)
  50.             ActiveScene.Draw(gameTime);
  51.  
  52.         base.Draw(gameTime);
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment