public GameObject Create(ShieldCategory.Type type, GameObject.Name gameName, GameObject pContainer = null, float posX = 0.0f, float posY = 0.0f) { GameObject pShield = null; switch (type) { case ShieldCategory.Type.Brick: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick, posX, posY); break; case ShieldCategory.Type.LeftTop1: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_LeftTop1, posX, posY); break; case ShieldCategory.Type.LeftTop0: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_LeftTop0, posX, posY); break; case ShieldCategory.Type.LeftBottom: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_LeftBottom, posX, posY); break; case ShieldCategory.Type.RightTop1: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_RightTop1, posX, posY); break; case ShieldCategory.Type.RightTop0: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_RightTop0, posX, posY); break; case ShieldCategory.Type.RightBottom: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_RightBottom, posX, posY); break; case ShieldCategory.Type.Root: pShield = new ShieldRoot(gameName, GameSprite.Name.NullObject, posX, posY); pShield.SetCollisionColor(0.0f, 0.0f, 1.0f); //Debug.Assert(false); break; case ShieldCategory.Type.Grid: pShield = new ShieldGrid(gameName, GameSprite.Name.NullObject, posX, posY); pShield.SetCollisionColor(0.0f, 1.0f, 0.0f); break; case ShieldCategory.Type.Column: pShield = new ShieldColumn(gameName, GameSprite.Name.NullObject, posX, posY); pShield.SetCollisionColor(1.0f, 0.0f, 0.0f); break; default: // something is wrong Debug.Assert(false); break; } this.AttachTo(pShield, pContainer); return(pShield); }
public GameObject Create(ShieldCategory.Type type, GameObject.Name gameName, float posX = 0.0f, float posY = 0.0f) { GameObject pShield = null; switch (type) { case ShieldCategory.Type.Brick: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick, posX, posY); break; case ShieldCategory.Type.LeftTop1: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_LeftTop1, posX, posY); break; case ShieldCategory.Type.LeftTop0: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_LeftTop0, posX, posY); break; case ShieldCategory.Type.LeftBottom: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_LeftBottom, posX, posY); break; case ShieldCategory.Type.RightTop1: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_RightTop1, posX, posY); break; case ShieldCategory.Type.RightTop0: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_RightTop0, posX, posY); break; case ShieldCategory.Type.RightBottom: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_RightBottom, posX, posY); break; case ShieldCategory.Type.Root: pShield = new ShieldRoot(gameName, GameSprite.Name.NullObject, posX, posY); pShield.SetCollisionColor(0.0f, 0.0f, 1.0f); break; case ShieldCategory.Type.Column: pShield = new ShieldColumn(gameName, GameSprite.Name.NullObject, posX, posY); pShield.SetCollisionColor(1.0f, 0.0f, 0.0f); break; default: // something is wrong Debug.Assert(false); break; } // add to the tree this.pTree.Add(pShield); // Attached to Group pShield.ActivateGameSprite(this.pSpriteBatch); pShield.ActivateCollisionSprite(this.pCollisionSpriteBatch); return(pShield); }
protected ShieldCategory(GameObject.Name name, GameSprite.Name spriteName, int index, ShieldCategory.Type shieldType) : base(name, spriteName, index) { this.type = shieldType; }
public static GameObject Create(ShieldCategory.Type type, int _Index, float posX = 0.0f, float posY = 0.0f) { ShieldFactory pFactory = ShieldFactory.PrivGetInstance(); Debug.Assert(pFactory != null); GameObject pGameObj = null; switch (type) { case ShieldCategory.Type.Brick: pGameObj = new ShieldBrick(GameObject.Name.ShieldBrick, GameSprite.Name.Brick, _Index, posX, posY); break; case ShieldCategory.Type.LeftBottom: pGameObj = new ShieldBrick(GameObject.Name.ShieldBrick, GameSprite.Name.BrickLeft_Bottom, _Index, posX, posY); break; case ShieldCategory.Type.LeftTop0: pGameObj = new ShieldBrick(GameObject.Name.ShieldBrick, GameSprite.Name.BrickLeft_Top0, _Index, posX, posY); break; case ShieldCategory.Type.LeftTop1: pGameObj = new ShieldBrick(GameObject.Name.ShieldBrick, GameSprite.Name.BrickLeft_Top1, _Index, posX, posY); break; case ShieldCategory.Type.RightBottom: pGameObj = new ShieldBrick(GameObject.Name.ShieldBrick, GameSprite.Name.BrickRight_Bottom, _Index, posX, posY); break; case ShieldCategory.Type.RightTop0: pGameObj = new ShieldBrick(GameObject.Name.ShieldBrick, GameSprite.Name.BrickRight_Top0, _Index, posX, posY); break; case ShieldCategory.Type.RightTop1: pGameObj = new ShieldBrick(GameObject.Name.ShieldBrick, GameSprite.Name.BrickRight_Top1, _Index, posX, posY); break; case ShieldCategory.Type.Column: pGameObj = new ShieldColumn(GameObject.Name.ShieldColumn, GameSprite.Name.NullObject, _Index, posX, posY); break; case ShieldCategory.Type.Group: pGameObj = new ShieldGroup(GameObject.Name.ShieldRoot, GameSprite.Name.NullObject, _Index, posX, posY); break; default: Debug.Assert(false); break; } Debug.Assert(pGameObj != null); // Attach to SpriteBatch if (pGameObj.type == Component.Container.LEAF) { pFactory.pParent.Add(pGameObj); pGameObj.ActivateGameSprite(pFactory.pShieldSpriteBatch); } pGameObj.ActivateCollisionSprite(pFactory.pBoxSpriteBatch); return(pGameObj); }
public ShieldCategory Create(ShieldCategory.Type type, GameObject.Name gameObjName, int index = 0, float posX = 0.0f, float posY = 0.0f) { ShieldCategory pShield = null; switch (type) { case ShieldCategory.Type.Root: pShield = new ShieldRoot(gameObjName, GameSprite.Name.NullObject, index, posX, posY); //pShield.SetCollisionColor(0.0f, 0.0f, 1.0f); //GameObjectManager.AttachTree(pShield, this.pTree); //pShield.ActivateCollisionSprite(this.pCollisionSpriteBatch); break; case ShieldCategory.Type.ShieldGrid: pShield = new ShieldGrid(gameObjName, GameSprite.Name.NullObject, index, posX, posY); //pShield.SetCollisionColor(1.0f, 0.0f, 0.0f); pShield.ActivateCollisionSprite(this.pCollisionSpriteBatch); break; case ShieldCategory.Type.ShieldColumn: pShield = new ShieldColumn(gameObjName, GameSprite.Name.NullObject, index, posX, posY); //pShield.SetCollisionColor(1.0f, 0.0f, 0.0f); pShield.ActivateCollisionSprite(this.pCollisionSpriteBatch); break; case ShieldCategory.Type.ShieldBrick: pShield = new ShieldBrick(gameObjName, GameSprite.Name.ShieldBrick, index, posX, posY); break; case ShieldCategory.Type.ShieldBrickLeft_Top: pShield = new ShieldBrick(gameObjName, GameSprite.Name.ShieldBrickLeft_Top, index, posX, posY); break; case ShieldCategory.Type.ShieldBrickRight_Top: pShield = new ShieldBrick(gameObjName, GameSprite.Name.ShieldBrickRight_Top, index, posX, posY); break; case ShieldCategory.Type.ShieldBrickMidLeft_Bottom: pShield = new ShieldBrick(gameObjName, GameSprite.Name.ShieldBrickMidLeft_Bottom, index, posX, posY); break; case ShieldCategory.Type.ShieldBrickMid_Bottom: pShield = new ShieldBrick(gameObjName, GameSprite.Name.ShieldBrickMid_Bottom, index, posX, posY); break; case ShieldCategory.Type.ShieldBrickMidRight_Bottom: pShield = new ShieldBrick(gameObjName, GameSprite.Name.ShieldBrickMidRight_Bottom, index, posX, posY); break; default: // something is wrong Debug.Assert(false); break; } // add to the tree this.pTree.Insert(pShield, this.pParent); // Attached to Group pShield.ActivateGameSprite(this.pSpriteBatch); pShield.ActivateCollisionSprite(this.pCollisionSpriteBatch); return(pShield); }
public GameObject Create(ShieldCategory.Type type, GameObject.Name gameName, float posX = 0.0f, float posY = 0.0f) { GameObject pShield = null; switch (type) { case ShieldCategory.Type.Brick: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick, posX, posY); break; case ShieldCategory.Type.LeftTop1: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_LeftTop1, posX, posY); break; case ShieldCategory.Type.LeftTop2: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_LeftTop2, posX, posY); break; case ShieldCategory.Type.LeftBottom: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_LeftBottom, posX, posY); break; case ShieldCategory.Type.RightTop1: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_RightTop1, posX, posY); break; case ShieldCategory.Type.RightTop2: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_RightTop2, posX, posY); break; case ShieldCategory.Type.RightBottom: pShield = new ShieldBrick(gameName, GameSprite.Name.Brick_RightBottom, posX, posY); break; case ShieldCategory.Type.Root: pShield = new ShieldRoot(gameName, GameSprite.Name.NullObject, posX, posY); pShield.SetCollisionColor(0.0f, 0.0f, 1.0f); Debug.Assert(false); break; case ShieldCategory.Type.Grid: pShield = new ShieldGrid(gameName, GameSprite.Name.NullObject, posX, posY); pShield.SetCollisionColor(0.0f, 0.0f, 1.0f); break; case ShieldCategory.Type.Column: pShield = new ShieldColumn(gameName, GameSprite.Name.NullObject, posX, posY); pShield.SetCollisionColor(1.0f, 0.0f, 0.0f); break; default: Debug.Assert(false); break; } this.pTree.Add(pShield); pShield.ActivateGameSprite(this.pSpriteBatch); pShield.ActivateCollisionSprite(this.pColSpriteBatch); return(pShield); }
public GameObject Recreate(ShieldCategory.Type type, GameObject.Name gameName, float posX = 0.0f, float posY = 0.0f) { GhostManager pGhostManager = GameStateManager.GetGame().GetStateGhostManager(); GameObjectManager pGameObjectManager = GameStateManager.GetGame().GetStateGameObjectManager(); GameObject pShield = null; switch (type) { case ShieldCategory.Type.Brick: pShield = pGhostManager.Find(GameObject.Name.ShieldBrick); break; case ShieldCategory.Type.LeftTop1: pShield = pGhostManager.Find(GameObject.Name.ShieldBrick_LeftTop1); break; case ShieldCategory.Type.LeftTop0: pShield = pGhostManager.Find(GameObject.Name.ShieldBrick_LeftTop0); break; case ShieldCategory.Type.LeftBottom: pShield = pGhostManager.Find(GameObject.Name.ShieldBrick_LeftBottom); break; case ShieldCategory.Type.RightTop1: pShield = pGhostManager.Find(GameObject.Name.ShieldBrick_RightTop1); break; case ShieldCategory.Type.RightTop0: pShield = pGhostManager.Find(GameObject.Name.ShieldBrick_RightTop0); break; case ShieldCategory.Type.RightBottom: pShield = pGhostManager.Find(GameObject.Name.ShieldBrick_RightBottom); break; case ShieldCategory.Type.Root: pShield = pGhostManager.Find(GameObject.Name.ShieldRoot); pShield.SetCollisionObjectLineColor(0.0f, 0.0f, 1.0f); break; case ShieldCategory.Type.Column: pShield = pGhostManager.Find(GameObject.Name.ShieldColumn); pShield.SetCollisionObjectLineColor(1.0f, 0.0f, 0.0f); break; default: // something is wrong Debug.Assert(false); break; } // Remove game object from ghost manager pGhostManager.Detach(pShield); // Reset position pShield.SetX(posX); pShield.SetY(posY); // Reset Collision Object Azul.Rect pSpriteProxyScreenRect = pShield.GetSpriteProxy().GetSpriteScreenRect(); CollisionObject pCollisionObject = pShield.GetCollisionObject(); pCollisionObject.GetCollisionRect().Set(pSpriteProxyScreenRect); pCollisionObject.GetCollisionSpriteBox().Set(SpriteBox.Name.Box, posX, posY, pSpriteProxyScreenRect.width, pSpriteProxyScreenRect.height); // Add to GameObjectManager GameStateManager.GetGame().GetStateGameObjectManager().Attach(pShield); // add to the tree this.pTree.Add(pShield); // Attached to Group pShield.ActivateSprite(this.pSpriteBatch); pShield.ActivateCollisionSprite(this.pCollisionSpriteBatch); return(pShield); }