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 SquidAlien(name, GameSprite.Name.SquidOpen, posX, posY); break; case AlienCategory.Type.Crab: pGameObj = new CrabAlien(name, GameSprite.Name.CrabOpen, posX, posY); break; case AlienCategory.Type.Octopus: pGameObj = new OctopusAlien(name, GameSprite.Name.OctopusOpen, posX, posY); break; case AlienCategory.Type.Grid: pGameObj = new AlienGrid(name, GameSprite.Name.NullObject, 0.0f, 0.0f); break; case AlienCategory.Type.Column: pGameObj = new AlienColumn(name, GameSprite.Name.NullObject, 0.0f, 0.0f); 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(this.pCollisionSpriteBatch); return(pGameObj); }
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); }