root/Code/oMaE/oMaE/GameObject.cs @ 10

Revision 10, 2.0 KB (checked in by acarter, 2 years ago)

Added slider and began traffic game

Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using Microsoft.Xna.Framework;
6using Microsoft.Xna.Framework.Audio;
7using Microsoft.Xna.Framework.Content;
8using Microsoft.Xna.Framework.GamerServices;
9using Microsoft.Xna.Framework.Graphics;
10using Microsoft.Xna.Framework.Input;
11using Microsoft.Xna.Framework.Media;
12
13namespace oMaE
14{
15    public enum TextLocation { LEFT, RIGHT }
16    class GameObject
17    {
18        protected bool Active = false, Updated = false;
19        protected bool Initialized = false, Loaded = false;
20        protected List<GameObject> children = new List<GameObject>();
21        public virtual IEnumerable<GameObject> Children
22        {
23            get 
24            { 
25                return children; 
26            } 
27        }
28        public static Texture2D Pixel;
29        public GameObject() { }
30        public virtual bool Initialize()
31        {
32            if (!Initialized)
33                foreach (GameObject child in Children)
34                    child.Initialize();
35            bool wasInitizalized = Initialized;
36            Initialized = true;
37            return !wasInitizalized;
38        }
39        public virtual bool LoadContent(ContentManager Content)
40        {
41            if (!Loaded)
42            {
43                if (Pixel == null)
44                    Pixel = Content.Load<Texture2D>("pixel");
45                foreach (GameObject child in Children)
46                    child.LoadContent(Content);
47            }
48            bool wasLoaded = Loaded;
49            Loaded = true;
50            return !wasLoaded;
51        }
52        public virtual void Update(GameState gameState)
53        {
54            foreach (GameObject child in Children)
55                child.Update(gameState);
56        }
57        public virtual void Draw(SpriteBatch spriteBatch, GameState gameState)
58        {
59            foreach (GameObject child in Children)
60                child.Draw(spriteBatch, gameState);
61        }
62    }
63}
Note: See TracBrowser for help on using the browser.