//---------------------------------------------------------------------------------- // Methods //---------------------------------------------------------------------------------- public GameObject Create(GameObject.Name theName, AlienCategory.Type type, float posx = 0.0f, float posy = 0.0f) { GameObject pGameObj = null; switch (type) { case AlienCategory.Type.AlienGrid: pGameObj = new AlienGrid(theName, GameSprite.Name.NullObject, posx, posy); ((AlienGrid)pGameObj).SetCanDropBombs(true); break; case AlienCategory.Type.Column: pGameObj = new AlienColumn(theName, GameSprite.Name.NullObject, posx, posy); break; case AlienCategory.Type.Alien: pGameObj = new AlienGO(theName, GameSprite.Name.Alien, 20, posx, posy); break; case AlienCategory.Type.Octopus: pGameObj = new AlienGO(theName, GameSprite.Name.Octopus, 10, posx, posy); break; case AlienCategory.Type.Squid: pGameObj = new AlienGO(theName, GameSprite.Name.Squid, 30, posx, posy); break; case AlienCategory.Type.UFOGrid: pGameObj = new AlienGrid(theName, GameSprite.Name.NullObject, posx, posy); ((AlienGrid)pGameObj).SetCanDropBombs(false); break; case AlienCategory.Type.Saucer: pGameObj = new AlienGO(theName, GameSprite.Name.Saucer, 100, posx, posy); break; default: Debug.WriteLine("Choose the Space Invader you want by name."); Debug.Assert(false); break; } // add it to the Game Object Manager Debug.Assert(pGameObj != null); // Should only attach root elements in the Scene // attach to the group pGameObj.ActivateGameSprite(this.pSpriteBatch); pGameObj.ActivateCollisionSprite(this.pCollisionSpriteBatch); return(pGameObj); }
public GameObject Create(GameObject.Name name, AlienCategory.Type type, float posX = 0.0f, float posY = 0.0f) { GameObject pGameObj = null; switch (type) { case AlienCategory.Type.Green: pGameObj = new GreenAlien(GameObject.Name.GreenAlien, GameSprite.Name.GreenAlien, posX, posY); break; case AlienCategory.Type.Red: pGameObj = new RedAlien(GameObject.Name.RedAlien, GameSprite.Name.RedAlien, posX, posY); break; case AlienCategory.Type.White: pGameObj = new WhiteAlien(GameObject.Name.WhiteAlien, GameSprite.Name.WhiteAlien, posX, posY); break; case AlienCategory.Type.Yellow: pGameObj = new YellowAlien(GameObject.Name.YellowAlien, GameSprite.Name.YellowAlien, posX, posY); break; case AlienCategory.Type.Blue: pGameObj = new BlueAlien(GameObject.Name.BlueAlien, GameSprite.Name.BlueAlien, posX, posY); break; case AlienCategory.Type.Grid: pGameObj = new AlienGrid(name, GameSprite.Name.NullObject, posX, posY); break; case AlienCategory.Type.Column: pGameObj = new AlienColumn(name, GameSprite.Name.NullObject, posX, posY); break; default: // something is wrong Debug.Assert(false); break; } Debug.Assert(pGameObj != null); pGameObj.ActivateGameSprite(this.pSpriteBatch); pGameObj.ActivateCollisionSprite(this.pBoxSpriteBatch); GameObjectMan.Attach(pGameObj); return(pGameObj); }
public GameObject Create(GameObject.Name name, AlienCategory.Type type, float posX = 0.0f, float posY = 0.0f) { GameObject pGameObj = null; switch (type) { case AlienCategory.Type.Squid: pGameObj = new Alien(GameSprite.Name.Sprite_Squid, name, posX, posY); break; case AlienCategory.Type.Crab: pGameObj = new Alien(GameSprite.Name.Sprite_Crab, name, posX, posY); break; case AlienCategory.Type.Octopus: pGameObj = new Alien(GameSprite.Name.Sprite_Octopus, name, posX, posY); break; case AlienCategory.Type.Grid: pGameObj = new AliensGrid(name); break; case AlienCategory.Type.Column: pGameObj = new AliensColumn(name); break; default: // something is wrong Debug.Assert(false); break; } // add it to the gameObjectManager Debug.Assert(pGameObj != null); // GameObjectMan.Attach(pGameObj); // Attached to Group pGameObj.ActivateGameSprite(this.pSpriteBatch); pGameObj.ActivateCollisionSprite(pBoxBatch); return(pGameObj); }
public GameObject Create(GameObject.Name name, AlienCategory.Type type, GameObject pContainer = null, float posX = 0.0f, float posY = 0.0f) { GameObject pGameObj = null; switch (type) { case AlienCategory.Type.Squid: pGameObj = new Squid(GameObject.Name.Squid, GameSprite.Name.Squid, posX, posY); AlienCategory pAlienCategory = (AlienCategory)pGameObj; pAlienCategory.SetState(AlienMan.State.Ready); break; case AlienCategory.Type.Crab: pGameObj = new Crab(GameObject.Name.Crab, GameSprite.Name.Crab, posX, posY); pAlienCategory = (AlienCategory)pGameObj; pAlienCategory.SetState(AlienMan.State.Ready); break; case AlienCategory.Type.Octopus: pGameObj = new Octopus(GameObject.Name.Octopus, GameSprite.Name.Octopus, posX, posY); pAlienCategory = (AlienCategory)pGameObj; pAlienCategory.SetState(AlienMan.State.Ready); break; case AlienCategory.Type.Group: pGameObj = new AlienGroup(name, GameSprite.Name.NullObject, posX, posY); break; case AlienCategory.Type.Column: pGameObj = new AlienColumn(name, GameSprite.Name.NullObject, posX, posY); break; default: Debug.Assert(false); break; } // Attached to Group this.AttachTo(pGameObj, pContainer); return(pGameObj); }
public GameObject Create(AlienCategory.Type type, GameObject.Name gameName, float posX = 0.0f, float posY = 0.0f) { GameObject pAlien = null; switch (type) { case AlienCategory.Type.Squid: pAlien = new Squid(gameName, GameSprite.Name.Squid, posX, posY); break; case AlienCategory.Type.Crab: pAlien = new Crab(gameName, GameSprite.Name.Crab, posX, posY); break; case AlienCategory.Type.Octopus: pAlien = new Octopus(gameName, GameSprite.Name.Octopus, posX, posY); break; case AlienCategory.Type.AlienColumn: pAlien = new AlienColumn(gameName, GameSprite.Name.NullObject, posX, posY); break; case AlienCategory.Type.AlienGrid: pAlien = new AlienGrid(gameName, GameSprite.Name.NullObject, posX, posY); break; default: // something is wrong Debug.Assert(false); break; } // add to the tree this.pTree.Add(pAlien); // Attached to Group pAlien.ActivateGameSprite(this.pSpriteBatch); pAlien.ActivateCollisionSprite(this.pCollisionSpriteBatch); return(pAlien); }
public GameObject Create(GameObject.Name name, AlienCategory.Type type, float posX = 0.0f, float posY = 0.0f, float ColIndex = 0.0f) { GameObject pGameObject = null; switch (type) { case AlienCategory.Type.Squid: pGameObject = new SquidGO(name, GameSprite.Name.Squid, posX, posY); break; case AlienCategory.Type.Crab: pGameObject = new CrabGO(name, GameSprite.Name.Crab, posX, posY); break; case AlienCategory.Type.Octopus: pGameObject = new OctoGO(name, GameSprite.Name.Octopus, posX, posY); break; case AlienCategory.Type.Group: pGameObject = new AlienGroup(name, GameSprite.Name.NullObject, 0.0f, 0.0f); break; case AlienCategory.Type.Column: pGameObject = new AlienColumn(name, GameSprite.Name.NullObject, 0.0f, 0.0f, ColIndex); break; default: Debug.Assert(false); break; } this.pTree.Add(pGameObject); //attach to Group to Draw/Render it pGameObject.ActivateGameSprite(this.pSpriteBatch); pGameObject.ActivateCollisionSprite(this.pColSpriteBatch); return(pGameObject); }
//------------------------------------------------------------------------------- // Methods //------------------------------------------------------------------------------- public GameObject create(GameObject.Name objectName, AlienCategory.Type alienType, float posX = 0.0f, float posY = 0.0f) { GameObject pGameObject = null; switch (alienType) { case AlienCategory.Type.Octopus: pGameObject = new Octopus(objectName, GameSprite.Name.Octopus, posX, posY); break; case AlienCategory.Type.Crab: pGameObject = new Crab(objectName, GameSprite.Name.Crab, posX, posY); break; case AlienCategory.Type.Squid: pGameObject = new Squid(objectName, GameSprite.Name.Squid, posX, posY); break; case AlienCategory.Type.Column: pGameObject = new AlienColumn(objectName, GameSprite.Name.NullObject, 0.0f, 0.0f); break; case AlienCategory.Type.Group: pGameObject = new AlienGroup(objectName, GameSprite.Name.NullObject, 0.0f, 0.0f); break; default: Debug.Assert(false); break; } // add pGameObject to GameObjectMan and pGrid Debug.Assert(pGameObject != null); // attached to SpritBatch pGameObject.activateGameSprite(this.pSpriteBatch); pGameObject.activateCollisionSprite(this.pBoxSpriteBatch); return(pGameObject); }
public static GameObject Create(AlienCategory.Type type, int _Index, float posX = 0.0f, float posY = 0.0f) { AlienFactory pFactory = AlienFactory.PrivGetInstance(); GameObject pGameObj = null; switch (type) { case AlienCategory.Type.Crab: pGameObj = new AlienCrab(GameObject.Name.Crab, GameSprite.Name.Crab, _Index, posX, posY); break; case AlienCategory.Type.Octopus: pGameObj = new AlienOctopus(GameObject.Name.Octopus, GameSprite.Name.Octopus, _Index, posX, posY); break; case AlienCategory.Type.Squid: pGameObj = new AlienSquid(GameObject.Name.Squid, GameSprite.Name.Squid, _Index, posX, posY); break; case AlienCategory.Type.Column: pGameObj = new AlienColumn(GameObject.Name.AlienColumn, GameSprite.Name.NullObject, _Index, 0.0f, 0.0f); break; case AlienCategory.Type.Group: pGameObj = new AlienGroup(GameObject.Name.AlienGroup, GameSprite.Name.NullObject, _Index, 0.0f, 0.0f); break; default: Debug.Assert(false); break; } Debug.Assert(pGameObj != null); // Attach to SpriteBatch pGameObj.ActivateGameSprite(pFactory.pGameSpriteBatch); pGameObj.ActivateCollisionSprite(pFactory.pBoxSpriteBatch); return(pGameObj); }
//---------------------------------------------------------------------------------- // Constructor //---------------------------------------------------------------------------------- public AlienCategory(GameObject.Name gameObjName, GameSprite.Name gameSpriteName, AlienCategory.Type at) : base(gameObjName, gameSpriteName) { this.type = at; }