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); }
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 ShieldCategory Create(ShieldType type, GameObjectName goName, float x = 0.0f, float y = 0.0f, int idx = 0) { ShieldCategory pShield = null; switch (type) { case ShieldType.Brick: pShield = new ShieldBrick(goName, SpriteBaseName.Brick, x, y, idx); break; case ShieldType.LeftTop0: pShield = new ShieldBrick(goName, SpriteBaseName.BrickLeftTop0, x, y, idx); break; case ShieldType.LeftTop1: pShield = new ShieldBrick(goName, SpriteBaseName.BrickLeftTop1, x, y, idx); break; case ShieldType.LeftBottom: pShield = new ShieldBrick(goName, SpriteBaseName.BrickLeftBottom, x, y, idx); break; case ShieldType.RightTop0: pShield = new ShieldBrick(goName, SpriteBaseName.BrickRightTop0, x, y, idx); break; case ShieldType.RightTop1: pShield = new ShieldBrick(goName, SpriteBaseName.BrickRightTop1, x, y, idx); break; case ShieldType.RightBottom: pShield = new ShieldBrick(goName, SpriteBaseName.BrickRightBottom, x, y, idx); break; case ShieldType.Root: pShield = new ShieldRoot(goName, SpriteBaseName.Null, x, y, idx); pShield.pCollisionObject.pCollisionSpriteBox.pLineColor = ColorFactory.Create(ColorName.Blue).pAzulColor; Debug.Assert(false); break; case ShieldType.Grid: pShield = new ShieldGrid(goName, SpriteBaseName.Null, x, y, idx); pShield.pCollisionObject.pCollisionSpriteBox.pLineColor = ColorFactory.Create(ColorName.Blue).pAzulColor; break; case ShieldType.Column: pShield = new ShieldColumn(goName, SpriteBaseName.Null, x, y, idx); pShield.pCollisionObject.pCollisionSpriteBox.pLineColor = ColorFactory.Create(ColorName.Red).pAzulColor; break; default: Debug.Assert(false); break; } this.pTree.Insert(pShield, this.pParent); pShield.ActivateGameSprite(this.pSpriteBatch); if (GameManager.GetCollisionBoxes()) { pShield.ActivateCollisionSprite(this.pCollisionSpriteBatch); } return(pShield); }