public override void UnLoadContent() { pSpriteBatchMan.Destroy(); TextureMan.Destroy(); GlyphMan.Destroy(); FontMan.Destroy(); }
public static void Remove(Glyph pNode) { Debug.Assert(pNode != null); GlyphMan pMan = GlyphMan.privGetInstance(); pMan.baseRemove(pNode); }
public static void Destroy() { // Get the instance GlyphMan pMan = GlyphMan.GetInstance(); pMan.baseDestory(); }
public override void LoadContent() { pSpriteBatchMan = new SpriteBatchMan(1, 1); //TimerMan.Create(3, 1); TextureMan.Create(2, 1); GlyphMan.Create(3, 1); FontMan.Create(1, 1); TextureMan.Add(Texture.Name.Consolas36pt, "Consolas36pt.tga"); FontMan.AddXml(Glyph.Name.Consolas36pt, "Consolas36pt.xml", Texture.Name.Consolas36pt); SpriteBatch pSB_Texts = pSpriteBatchMan.Add(SpriteBatch.Name.Texts); FontMan.Add(pSpriteBatchMan, Font.Name.Title, SpriteBatch.Name.Texts, "SCORE<1> HIGH-SCORE SCORE<2>", Glyph.Name.Consolas36pt, 200, 680); FontMan.Add(pSpriteBatchMan, Font.Name.ScoreOne, SpriteBatch.Name.Texts, "00", Glyph.Name.Consolas36pt, 240, 650); FontMan.Add(pSpriteBatchMan, Font.Name.HighestScore, SpriteBatch.Name.Texts, "00", Glyph.Name.Consolas36pt, 440, 650); FontMan.Add(pSpriteBatchMan, Font.Name.ScoreTwo, SpriteBatch.Name.Texts, "00", Glyph.Name.Consolas36pt, 650, 650); FontMan.Add(pSpriteBatchMan, Font.Name.Title, SpriteBatch.Name.Texts, "GAME OVER!!", Glyph.Name.Consolas36pt, 350, 400); FontMan.Add(pSpriteBatchMan, Font.Name.Title, SpriteBatch.Name.Texts, "Press 3 to go back to the menu...", Glyph.Name.Consolas36pt, 200, 280); InputSubject pInputSubject; pInputSubject = InputMan.GetKeyThreeSubject(); pInputSubject.Attach(new MoveToMenuObserver()); Simulation.SetState(Simulation.State.Realtime); //CycleBackToMenuState pCylce = new CycleBackToMenuState(); //TimerMan.Add(TimeEvent.Name.CycleBackToMenu, pCylce, 20f); }
public override void LoadContent() { pSpriteBatchMan = new SpriteBatchMan(1, 1); TextureMan.Create(2, 1); GlyphMan.Create(3, 1); FontMan.Create(1, 1); TextureMan.Add(Texture.Name.Consolas36pt, "Consolas36pt.tga"); FontMan.AddXml(Glyph.Name.Consolas36pt, "Consolas36pt.xml", Texture.Name.Consolas36pt); SpriteBatch pSB_Texts = pSpriteBatchMan.Add(SpriteBatch.Name.Texts); FontMan.Add(pSpriteBatchMan, Font.Name.Title, SpriteBatch.Name.Texts, "SCORE<1> HIGH-SCORE SCORE<2>", Glyph.Name.Consolas36pt, 200, 680); FontMan.Add(pSpriteBatchMan, Font.Name.ScoreOne, SpriteBatch.Name.Texts, "00", Glyph.Name.Consolas36pt, 240, 650); FontMan.Add(pSpriteBatchMan, Font.Name.HighestScore, SpriteBatch.Name.Texts, "00", Glyph.Name.Consolas36pt, 440, 650); FontMan.Add(pSpriteBatchMan, Font.Name.ScoreTwo, SpriteBatch.Name.Texts, "00", Glyph.Name.Consolas36pt, 650, 650); FontMan.Add(pSpriteBatchMan, Font.Name.Title, SpriteBatch.Name.Texts, "SPACE INVADERS", Glyph.Name.Consolas36pt, 320, 500); FontMan.Add(pSpriteBatchMan, Font.Name.Title, SpriteBatch.Name.Texts, "Choose 1 or 2 to play...", Glyph.Name.Consolas36pt, 240, 450); FontMan.Add(pSpriteBatchMan, Font.Name.Title, SpriteBatch.Name.Texts, "1, Single Player", Glyph.Name.Consolas36pt, 300, 350); FontMan.Add(pSpriteBatchMan, Font.Name.Title, SpriteBatch.Name.Texts, "2, Two Player", Glyph.Name.Consolas36pt, 310, 250); InputSubject pInputSubject; pInputSubject = InputMan.GetKeyOneSubject(); pInputSubject.Attach(new MoveToPlayingStateObserver()); pInputSubject = InputMan.GetKeyTwoSubject(); pInputSubject.Attach(new MoveToPlayingStateObserver()); Simulation.SetState(Simulation.State.Realtime); }
override public void Render() { Debug.Assert(this.pAzulSprite != null); Debug.Assert(this.pColor != null); Debug.Assert(this.pScreenRect != null); Debug.Assert(this.pMessage != null); Debug.Assert(this.pMessage.Length > 0); float xTmp = this.x; float yTmp = this.y; float xEnd = this.x; for (int i = 0; i < this.pMessage.Length; i++) { int key = Convert.ToByte(pMessage[i]); Glyph pGlyph = GlyphMan.Find(this.glyphName, key); Debug.Assert(pGlyph != null); xTmp = xEnd + pGlyph.GetAzulSubRect().width / 2; this.pScreenRect.Set(xTmp, yTmp, pGlyph.GetAzulSubRect().width, pGlyph.GetAzulSubRect().height); pAzulSprite.Swap(pGlyph.GetAzulTexture(), pGlyph.GetAzulSubRect(), this.pScreenRect, this.pColor); pAzulSprite.Update(); pAzulSprite.Render(); // move the starting to the next character xEnd = pGlyph.GetAzulSubRect().width / 2 + xTmp; } }
public override void Initialize() { this.poSpriteBatchMan = new SpriteBatchMan(3, 1); SpriteBatchMan.SetActive(this.poSpriteBatchMan); this.poFontMan = new FontMan(); FontMan.SetActive(this.poFontMan); this.poInputMan = new InputMan(); InputMan.SetActive(this.poInputMan); SpriteBatch pSB_Texts = SpriteBatchMan.Add(SpriteBatch.Name.Texts, 100, true); HighScore hS = new HighScore(); Texture pTexture = TextureMan.Add(Texture.Name.Consolas36pt, "Consolas36pt.tga"); GlyphMan.AddXml(Glyph.Name.Consolas36pt, "Consolas36pt.xml", Texture.Name.Consolas36pt); Font pFont = FontMan.Add(Font.Name.HighScore, SpriteBatch.Name.Texts, "High Score", Glyph.Name.Consolas36pt, 100, 500); pFont.SetColor(1.0f, 1.0f, 1.0f); pFont = FontMan.Add(Font.Name.HighScores, SpriteBatch.Name.Texts, hS.GetScore().ToString(), Glyph.Name.Consolas20pt, 100, 400); pFont.SetColor(0.40f, 0.40f, 0.40f); pFont = FontMan.Add(Font.Name.Instructions, SpriteBatch.Name.Texts, "Back to Menu", Glyph.Name.Consolas20pt, 100, 100); pFont.SetColor(0.60f, 0.60f, 0.60f); InputSubject pInputSubject = InputMan.GetCursorSubject(); pInputSubject.Attach(new HighlightHoverTextObserver(pFont)); pInputSubject = InputMan.GetMouseLeftKeySubject(); pInputSubject.Attach(new MenuChoiceObserver(pFont)); }
public void Set(Font.Name name, String pMessage, Glyph.Name glyphName, float xStart, float yStart) { Debug.Assert(pMessage != null); this.pMessage = pMessage; this.x = xStart; this.y = yStart; this.name = name; // TODO: for wash... this should be a nullGlyph this.glyphName = glyphName; // Force color to white Debug.Assert(this.pColor != null); this.pColor.Set(1.0f, 1.0f, 1.0f); float totalWidth = 0.0f; float maxHeight = 0.0f; for (int i = 0; i < this.pMessage.Length; i++) { int key = Convert.ToByte(pMessage[i]); Glyph pGlyph = GlyphMan.Find(this.glyphName, key); Debug.Assert(pGlyph != null); totalWidth += pGlyph.GetAzulSubRect().width; if (pGlyph.GetAzulSubRect().height > maxHeight) { maxHeight = pGlyph.GetAzulSubRect().height; } } this.pColRect.Set(new Azul.Rect(this.x + totalWidth / 2, this.y, totalWidth, maxHeight)); }
public static void Dump() { GlyphMan pMan = GlyphMan.privGetInstance(); Debug.Assert(pMan != null); Debug.WriteLine("------ Glyph Manager ------"); pMan.baseDump(); }
public static void DumpGlyphs() { GlyphMan pGMan = GlyphMan.PrivGetInstance(); Debug.Assert(pGMan != null); Debug.WriteLine("------ Glyph Manager ------"); pGMan.BaseDumpNodes(); }
public static void Remove(Glyph pGNode) { Debug.Assert(pGNode != null); GlyphMan pGMan = GlyphMan.PrivGetInstance(); Debug.Assert(pGMan != null); pGMan.BaseRemove(pGNode); }
override public void Unload() { SpriteBatchMan.Destroy(); TextureMan.Destroy(); GlyphMan.Destroy(); FontMan.Destroy(); InputMan.Destroy(); GhostGameObjectMan.Destroy(); this.Handle(); }
public static Glyph Add(Glyph.Name name, int key, Texture.Name textName, float x, float y, float width, float height) { GlyphMan pMan = GlyphMan.privGetInstance(); Glyph pNode = (Glyph)pMan.baseAdd(); Debug.Assert(pNode != null); pNode.Set(name, key, textName, x, y, width, height); return(pNode); }
public static void Destroy() { // Get the instance GlyphMan pMan = GlyphMan.PrivGetInstance(); #if (TRACK_DESTRUCTOR) Debug.WriteLine("--->GlyphMan.Destroy()"); #endif pMan.BaseDestroy(); GlyphMan.pInstance = null; }
public static void Create(int reserveNum = 3, int growth = 1) { Debug.Assert(reserveNum > 0); Debug.Assert(growth > 0); Debug.Assert(pInstance == null); if (pInstance == null) { pInstance = new GlyphMan(reserveNum, growth); } }
public override void UnLoadContent() { //pSpriteBatchMan.Destroy(); TextureMan.Destroy(); GlyphMan.Destroy(); //TimerMan.Destroy(); FontMan.Destroy(); GameObjectMan.Destroy(); //ColPairMan.Destroy(); //ShipMan.Destroy(); }
public static Glyph Find(Glyph.Name name, int key) { GlyphMan pMan = GlyphMan.privGetInstance(); // Compare functions only compares two Nodes pMan.pRefNode.name = name; pMan.pRefNode.key = key; Glyph pData = (Glyph)pMan.baseFind(pMan.pRefNode); return(pData); }
public static Glyph Find(Glyph.Name name, int key) { GlyphMan pGMan = GlyphMan.PrivGetInstance(); Debug.Assert(pGMan != null); pGMan.pRefNode.name = name; pGMan.pRefNode.key = key; Glyph pGlyphData = (Glyph)pGMan.BaseFind(pGMan.pRefNode); return(pGlyphData); }
//---------------------------------------------------------------------- // Static Manager methods can be implemented with base methods // Can implement/specialize more or less methods your choice //---------------------------------------------------------------------- public static void Create(int reserveNum = 3, int reserveGrow = 1) { // make sure values are ressonable Debug.Assert(reserveNum > 0); Debug.Assert(reserveGrow > 0); // initialize the singleton here Debug.Assert(pInstance == null); // Do the initialization if (pInstance == null) { pInstance = new GlyphMan(reserveNum, reserveGrow); } }
public override void UnLoadContent() { TimerMan.Destroy(); TextureMan.Destroy(); ImageMan.Destroy(); GameSpriteMan.Destroy(); BoxSpriteMan.Destroy(); pSpriteBatchMan.Destroy(); ProxySpriteMan.Destroy(); GlyphMan.Destroy(); //GameObjectMan.Destroy(); ColPairMan.Destroy(); FontMan.Destroy(); ShipMan.Destroy(); }
public override void Initialize() { this.name = SceneContext.Scene.Over; this.poSpriteBatchMan = new SpriteBatchMan(3, 1); SpriteBatchMan.SetActive(this.poSpriteBatchMan); SpriteBatch pSB_Texts = this.poSpriteBatchMan.Add(SpriteBatch.Name.Texts, 100); Texture pTexture = TextureMan.Add(Texture.Name.Consolas36pt, "Consolas36pt.tga"); GlyphMan.AddXml(Glyph.Name.Consolas36pt, "Consolas36pt.xml", Texture.Name.Consolas36pt); Font pFont = FontMan.Add(Font.Name.GameOver, SpriteBatch.Name.Texts, "GAME OVER", Glyph.Name.Consolas36pt, 310, 350); pFont.SetColor(1.0f, 0.0f, 0.0f); }
public static void Destroy() { GlyphMan pGMan = GlyphMan.PrivGetInstance(); #if (TRACK_DESTRUCTOR_MAN) Debug.WriteLine("GlyphMan.Destroy()"); #endif pGMan.BaseDestroy(); #if (TRACK_DESTRUCTOR_MAN) Debug.WriteLine("{0} ({1})", pGMan.pRefNode, pGMan.pRefNode.GetHashCode()); Debug.WriteLine("{0} ({1})", GlyphMan.pInstance, GlyphMan.pInstance.GetHashCode()); #endif pGMan.pRefNode = null; GlyphMan.pInstance = null; }
override public void Unload() { SpriteBatchMan.Destroy(); TextureMan.Destroy(); GlyphMan.Destroy(); FontMan.Destroy(); ImageMan.Destroy(); GameSpriteMan.Destroy(); BoxSpriteMan.Destroy(); ProxySpriteMan.Destroy(); GameObjectMan.Destroy(); TimerMan.Destroy(); ColPairMan.Destroy(); Simulation.Destroy(); InputMan.Destroy(); this.Handle(); }
override public void Unload() { //SpriteBatchMan.Remove(pSB_Texts); //SpriteBatchMan.Remove(pSB_Texts); SpriteBatchMan.Destroy(); TextureMan.Destroy(); GlyphMan.Destroy(); FontMan.Destroy(); ImageMan.Destroy(); GameSpriteMan.Destroy(); BoxSpriteMan.Destroy(); ProxySpriteMan.Destroy(); GameObjectMan.Destroy(); InputMan.Destroy(); this.Handle(); }
public override void Initialize() { this.poSpriteBatchMan = new SpriteBatchMan(3, 1); SpriteBatchMan.SetActive(this.poSpriteBatchMan); this.poInputMan = new InputMan(); InputMan.SetActive(this.poInputMan); SpriteBatch pSB_Texts = SpriteBatchMan.Add(SpriteBatch.Name.Texts, 100, true); Texture pTexture = TextureMan.Add(Texture.Name.Consolas36pt, "Consolas36pt.tga"); GlyphMan.AddXml(Glyph.Name.Consolas36pt, "Consolas36pt.xml", Texture.Name.Consolas36pt); Font pFont = FontMan.Add(Font.Name.TestMessage, SpriteBatch.Name.Texts, "GAME OVER", Glyph.Name.Consolas36pt, 100, 500); pFont.SetColor(1.0f, 1.0f, 1.0f); }
//----------------------------------------------------------------------------- // Game::UnLoadContent() // unload content (resources loaded above) // unload all content that was loaded before the Engine Loop started //----------------------------------------------------------------------------- public override void UnLoadContent() { TextureMan.Destroy(); ImageMan.Destroy(); GameSpriteMan.Destroy(); BoxSpriteMan.Destroy(); ProxySpriteMan.Destroy(); SpriteBatchMan.Destroy(); GONodeMan.Destroy(); TimerMan.Destroy(); ColPairMan.Destroy(); FontMan.Destroy(); Simulation.Destroy(); AnimMan.Destroy(); InputManager.Destroy(); GlyphMan.Destroy(); //ShipMan.Destroy(); //GraveyardMan.Destroy(); }
//----------------------------------------------------------------------------- // Game::LoadContent() // Allows you to load all content needed for your engine, // such as objects, graphics, etc. //----------------------------------------------------------------------------- public override void LoadContent() { //--------------------------------------------------------------------------------------------------------- // Initialize managers //--------------------------------------------------------------------------------------------------------- // Initialize and Add All Texture TextureMan.Initialize(); TextureMan.AddAll(); // Initialize and Add All image ImageMan.Initialize(); ImageMan.AddAll(); // Initialize and Add All Sprites GameSpriteMan.Initialize(); GameSpriteMan.AddAll(); // Initialize and Add All Sounds SoundMan.Initialize(); SoundMan.AddAll(); // Initialize Input and Output GlyphMan.Initialize(); GlyphMan.AddXml(GlyphName.Consolas36pt, "Consolas36pt.xml", TextureName.Consolas); FontMan.Initialize(); InputMan.Initialize(); // Initialize TimerEvents TimerMan.Initialize(); // Initialize GameObj and Collision PlayBatchMan.Initialize(); // ***** Scene ***** SceneContext.Initialize(); }
// strategy() override public void LoadContent() { Reset(); SpriteBatchMan.Create(3, 1); TextureMan.Create(2, 1); GlyphMan.Create(3, 1); FontMan.Create(1, 1); Texture pTexture = TextureMan.Add(Texture.Name.Consolas36pt, "Consolas36pt.tga"); FontMan.AddXml(Glyph.Name.Consolas36pt, "Consolas36pt.xml", Texture.Name.Consolas36pt); pTexture = TextureMan.Add(Texture.Name.Consolas20pt, "Consolas20pt.tga"); FontMan.AddXml(Glyph.Name.Consolas20pt, "Consolas20pt.xml", Texture.Name.Consolas20pt); SpriteBatch pSB_Texts = SpriteBatchMan.Add(SpriteBatch.Name.Texts); // Font FontMan.Add(Font.Name.TestMessage, SpriteBatch.Name.Texts, "Game Over", Glyph.Name.Consolas36pt, 250, 550); FontMan.Add(Font.Name.TestMessage, SpriteBatch.Name.Texts, "HI-SCORE", Glyph.Name.Consolas20pt, 200, 450); FontMan.Add(Font.Name.ScoreHigh, SpriteBatch.Name.Texts, SceneStateGameover.scoreHigh, Glyph.Name.Consolas20pt, 400, 450); FontMan.Add(Font.Name.TestMessage, SpriteBatch.Name.Texts, "PLAYER <1>", Glyph.Name.Consolas20pt, 200, 400); FontMan.Add(Font.Name.TestMessage, SpriteBatch.Name.Texts, SceneStateGameover.score1, Glyph.Name.Consolas20pt, 400, 400); FontMan.Add(Font.Name.TestMessage, SpriteBatch.Name.Texts, "PLAYER <2>", Glyph.Name.Consolas20pt, 200, 350); FontMan.Add(Font.Name.TestMessage, SpriteBatch.Name.Texts, SceneStateGameover.score2, Glyph.Name.Consolas20pt, 400, 350); // Input InputSubject pInputSubject; pInputSubject = InputMan.GetSlashSubject(); pInputSubject.Attach(new SelectGameObserver()); }
public static void AddXml(Glyph.Name glyphName, String assetName, Texture.Name textName) { GlyphMan.AddXml(glyphName, assetName, textName); }
public override void Initialize() { ImageMan.Add(Image.Name.BlueAlien, Texture.Name.Aliens, new Azul.Rect(341, 337, 65, 64)); ImageMan.Add(Image.Name.GreenAlien, Texture.Name.Aliens, new Azul.Rect(27, 337, 79, 64)); ImageMan.Add(Image.Name.RedAlien, Texture.Name.Aliens, new Azul.Rect(647, 200, 72, 65)); ImageMan.Add(Image.Name.UFO, Texture.Name.Aliens, new Azul.Rect(120, 489, 98, 49)); ImageMan.Add(Image.Name.Ship, Texture.Name.Birds, new Azul.Rect(10, 93, 30, 18)); ImageMan.Add(Image.Name.Brick, Texture.Name.Birds, new Azul.Rect(20, 210, 10, 5)); ImageMan.Add(Image.Name.BrickLeft_Top0, Texture.Name.Birds, new Azul.Rect(15, 180, 10, 5)); ImageMan.Add(Image.Name.BrickLeft_Top1, Texture.Name.Birds, new Azul.Rect(15, 185, 10, 5)); ImageMan.Add(Image.Name.BrickLeft_Bottom, Texture.Name.Birds, new Azul.Rect(35, 215, 10, 5)); ImageMan.Add(Image.Name.BrickRight_Top0, Texture.Name.Birds, new Azul.Rect(75, 180, 10, 5)); ImageMan.Add(Image.Name.BrickRight_Top1, Texture.Name.Birds, new Azul.Rect(75, 185, 10, 5)); ImageMan.Add(Image.Name.BrickRight_Bottom, Texture.Name.Birds, new Azul.Rect(55, 215, 10, 5)); this.poSpriteBatchMan = new SpriteBatchMan(3, 1); SpriteBatchMan.SetActive(this.poSpriteBatchMan); this.poGameObjectMan = new GameObjectMan(10, 2); GameObjectMan.SetActive(this.poGameObjectMan); this.poFontMan = new FontMan(); FontMan.SetActive(this.poFontMan); this.poInputMan = new InputMan(); InputMan.SetActive(this.poInputMan); SpriteBatch pSB_Texts = SpriteBatchMan.Add(SpriteBatch.Name.Texts, 100, true); SpriteBatch pSB_Shields = SpriteBatchMan.Add(SpriteBatch.Name.Shields, 100, true); SpriteBatch pSB_Aliens = SpriteBatchMan.Add(SpriteBatch.Name.Aliens, 100, true); SpriteBatch pSB_Boxes = SpriteBatchMan.Add(SpriteBatch.Name.Boxes, 100, false); GameSpriteMan.Add(GameSprite.Name.BlueAlien, Image.Name.BlueAlien, 100, 150, 30, 30); GameSpriteMan.Add(GameSprite.Name.RedAlien, Image.Name.RedAlien, 200, 150, 30, 30); GameSpriteMan.Add(GameSprite.Name.GreenAlien, Image.Name.GreenAlien, 300, 150, 30, 30); GameSpriteMan.Add(GameSprite.Name.UFO, Image.Name.UFO, 120, 489, 70, 25); GameSpriteMan.Add(GameSprite.Name.Ship, Image.Name.Ship, 500, 100, 60, 20); GameSpriteMan.Add(GameSprite.Name.Brick, Image.Name.Brick, 50, 25, 10, 5); GameSpriteMan.Add(GameSprite.Name.Brick_LeftTop0, Image.Name.BrickLeft_Top0, 50, 25, 10, 5); GameSpriteMan.Add(GameSprite.Name.Brick_LeftTop1, Image.Name.BrickLeft_Top1, 50, 25, 10, 5); GameSpriteMan.Add(GameSprite.Name.Brick_LeftBottom, Image.Name.BrickLeft_Bottom, 50, 25, 10, 5); GameSpriteMan.Add(GameSprite.Name.Brick_RightTop0, Image.Name.BrickRight_Top0, 50, 25, 10, 5); GameSpriteMan.Add(GameSprite.Name.Brick_RightTop1, Image.Name.BrickRight_Top1, 50, 25, 10, 5); GameSpriteMan.Add(GameSprite.Name.Brick_RightBottom, Image.Name.BrickRight_Bottom, 50, 25, 10, 5); AlienFactory aF = new AlienFactory(SpriteBatch.Name.Aliens, SpriteBatch.Name.Boxes); Texture pTexture = TextureMan.Add(Texture.Name.Consolas36pt, "Consolas36pt.tga"); GlyphMan.AddXml(Glyph.Name.Consolas36pt, "Consolas36pt.xml", Texture.Name.Consolas36pt); Font pFont = FontMan.Add(Font.Name.TestMessage, SpriteBatch.Name.Texts, "Aliens", Glyph.Name.Consolas36pt, 100, 500); pFont.SetColor(1.0f, 1.0f, 1.0f); RedAlien redAlien = (RedAlien)aF.Create(GameObject.Name.RedAlien, AlienCategory.Type.Red, 300.0f, 200.0f); pFont = FontMan.Add(Font.Name.Instructions, SpriteBatch.Name.Texts, redAlien.GetPoints().ToString(), Glyph.Name.Consolas20pt, 375.0f, 200.0f); pFont.SetColor(0.60f, 0.60f, 0.60f); GreenAlien greenAlien = (GreenAlien)aF.Create(GameObject.Name.GreenAlien, AlienCategory.Type.Green, 300.0f, 275.0f); pFont = FontMan.Add(Font.Name.Instructions, SpriteBatch.Name.Texts, greenAlien.GetPoints().ToString(), Glyph.Name.Consolas20pt, 375.0f, 275.0f); pFont.SetColor(0.60f, 0.60f, 0.60f); BlueAlien blueAlien = (BlueAlien)aF.Create(GameObject.Name.BlueAlien, AlienCategory.Type.Blue, 300.0f, 350.0f); pFont = FontMan.Add(Font.Name.Instructions, SpriteBatch.Name.Texts, blueAlien.GetPoints().ToString(), Glyph.Name.Consolas20pt, 375.0f, 350.0f); pFont.SetColor(0.60f, 0.60f, 0.60f); UFO ufo = new UFO(GameObject.Name.UFO, GameSprite.Name.UFO, 300.0f, 425.0f); ufo.ActivateGameSprite(pSB_Aliens); GameObjectMan.Attach(ufo); pFont = FontMan.Add(Font.Name.Instructions, SpriteBatch.Name.Texts, "?", Glyph.Name.Consolas20pt, 375.0f, 425.0f); pFont.SetColor(0.60f, 0.60f, 0.60f); pFont = FontMan.Add(Font.Name.Instructions, SpriteBatch.Name.Texts, "Back to Menu", Glyph.Name.Consolas20pt, 100, 100); pFont.SetColor(0.60f, 0.60f, 0.60f); InputSubject pInputSubject = InputMan.GetCursorSubject(); pInputSubject.Attach(new HighlightHoverTextObserver(pFont)); pInputSubject = InputMan.GetMouseLeftKeySubject(); pInputSubject.Attach(new MenuChoiceObserver(pFont)); }