Root/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | #region License /* FNA - XNA4 Reimplementation for Desktop Platforms * Copyright 2009-2016 Ethan Lee and the MonoGame Team * * Released under the Microsoft Public License. * See LICENSE for details. */ #endregion #region Using Statements using System; #endregion namespace Microsoft.Xna.Framework { public class DrawableGameComponent : GameComponent, IDrawable { #region Public Properties public Graphics.GraphicsDevice GraphicsDevice { get { return this .Game.GraphicsDevice; } } public int DrawOrder { get { return _drawOrder; } set { if (_drawOrder != value) { _drawOrder = value; if (DrawOrderChanged != null ) { DrawOrderChanged( this , null ); } OnDrawOrderChanged( this , null ); } } } public bool Visible { get { return _visible; } set { if (_visible != value) { _visible = value; if (VisibleChanged != null ) { VisibleChanged( this , EventArgs.Empty); } OnVisibleChanged( this , EventArgs.Empty); } } } #endregion #region Private Variables private bool _initialized; private int _drawOrder; private bool _visible = true ; #endregion #region Public Constructors public DrawableGameComponent(Game game) : base (game) { } #endregion #region Events public event EventHandler<EventArgs> DrawOrderChanged; public event EventHandler<EventArgs> VisibleChanged; #endregion #region Public Methods public override void Initialize() { if (!_initialized) { _initialized = true ; LoadContent(); } } #endregion #region Pubilc Virtual Methods public virtual void Draw(GameTime gameTime) { } #endregion #region Protected Virtual Methods protected virtual void LoadContent() { } protected virtual void UnloadContent() { } protected virtual void OnVisibleChanged( object sender, EventArgs args) { } protected virtual void OnDrawOrderChanged( object sender, EventArgs args) { } #endregion } } |