Exemplo n.º 1
0
 private void FillAlienRow(Alien[] row, int rowNum, Alien.Type alienType)
 {
     for (int column = 0; column < columnCount; column++)
     {
         row[column] = Alien.Construct(alienType, column, rowNum, gap);
     }
 }
Exemplo n.º 2
0
        public void Recreate(Alien.Type type, float posX, float posY)
        {
            GameObject        pGameObj           = null;
            GhostManager      pGhostManager      = GameStateManager.GetGame().GetStateGhostManager();
            GameObjectManager pGameObjectManager = GameStateManager.GetGame().GetStateGameObjectManager();

            switch (type)
            {
            case Alien.Type.Crab:
                pGameObj = pGhostManager.Find(GameObject.Name.CrabAlien);
                break;

            case Alien.Type.FlyingSaucer:
                pGameObj = pGhostManager.Find(GameObject.Name.FlyingSaucer);
                break;

            case Alien.Type.JellyFish:
                pGameObj = pGhostManager.Find(GameObject.Name.JellyFishAlien);
                break;

            case Alien.Type.Squid:
                pGameObj = pGhostManager.Find(GameObject.Name.SquidAlien);
                break;

            default:
                // something is wrong
                Debug.Assert(false);
                break;
            }

            // Remove game object from ghost manager
            pGhostManager.Detach(pGameObj);

            // Reset position
            pGameObj.SetX(posX);
            pGameObj.SetY(posY);

            // Reset Collision Object
            Azul.Rect       pSpriteProxyScreenRect = pGameObj.GetSpriteProxy().GetSpriteScreenRect();
            CollisionObject pCollisionObject       = pGameObj.GetCollisionObject();

            pCollisionObject.GetCollisionRect().Set(pSpriteProxyScreenRect);
            pCollisionObject.GetCollisionSpriteBox().Set(SpriteBox.Name.Box, posX, posY, pSpriteProxyScreenRect.width, pSpriteProxyScreenRect.height);


            // Add to GameObjectManager
            Debug.Assert(pGameObj != null);
            pGameObjectManager.Attach(pGameObj);

            // Add to Composite
            pComposite.Add(pGameObj);

            // Attach to SpriteBatch
            pGameObj.ActivateSprite(this.pAlienSpriteBatch);
            pGameObj.ActivateCollisionSprite(this.pCollisionBoxSpriteBatch);
        }
Exemplo n.º 3
0
        public void Create(Alien.Type type, float posX, float posY)
        {
            GameObject pGameObj = null;

            switch (type)
            {
            case Alien.Type.Crab:
                pGameObj = new CrabAlien(GameObject.Name.CrabAlien, Sprite.Name.CrabAlien, posX, posY);
                break;

            case Alien.Type.FlyingSaucer:
                pGameObj = new FlyingSaucer(GameObject.Name.FlyingSaucer, Sprite.Name.FlyingSaucer, posX, posY);
                break;

            case Alien.Type.JellyFish:
                pGameObj = new JellyfishAlien(GameObject.Name.JellyFishAlien, Sprite.Name.JellyfishAlien, posX, posY);
                break;

            case Alien.Type.Squid:
                pGameObj = new SquidAlien(GameObject.Name.SquidAlien, Sprite.Name.SquidAlien, posX, posY);
                break;

            default:
                // something is wrong
                Debug.Assert(false);
                break;
            }

            // Add to GameObjectManager
            Debug.Assert(pGameObj != null);
            GameStateManager.GetGame().GetStateGameObjectManager().Attach(pGameObj);

            // Add to Composite
            pComposite.Add(pGameObj);

            // Attach to SpriteBatch
            pGameObj.ActivateSprite(this.pAlienSpriteBatch);
            pGameObj.ActivateCollisionSprite(this.pCollisionBoxSpriteBatch);
        }
Exemplo n.º 4
0
 public Level(Alien.Type alienType, int maxShots, int chanceOfShot)
 {
     this.alienType    = alienType;
     this.maxShots     = maxShots;
     this.chanceOfShot = chanceOfShot;
 }