Exemplo n.º 1
0
        public static UFO ActivateUFO(bool isCollisionBoxActive)
        {
            Debug.WriteLine("UFO has been activated!");
            UFOManager ufoMan = UFOManager.GetInstance();

            PCSTree pcsTree = GameObjectManager.GetRootTree();

            Debug.Assert(pcsTree != null);

            UFOStrategy strat = new UFOMoveRight();
            float       x     = -10.0f;

            if (pRandom.Next(0, 2) == 0)
            {
                strat = new UFOMoveLeft();
                x     = 915.0f;
            }

            UFO pUFO = new UFO(GameObjectName.UFO, SpriteBaseName.UFO, strat, x, 905.0f);

            ufoMan.pUFO = pUFO;

            UFORoot     pUFORoot = (UFORoot)GameObjectManager.Find(GameObjectName.UFORoot);
            SpriteBatch sbAliens = SpriteBatchManager.Find(SpriteBatchName.Aliens);
            SpriteBatch sbBoxes  = SpriteBatchManager.Find(SpriteBatchName.Boxes);

            if (isCollisionBoxActive)
            {
                pUFO.ActivateCollisionSprite(sbBoxes);
            }
            pUFO.ActivateGameSprite(sbAliens);
            pcsTree.Insert(ufoMan.pUFO, pUFORoot);
            SetUFOActive(true);
            return(ufoMan.pUFO);
        }
Exemplo n.º 2
0
        public static void DropBomb()
        {
            UFOManager ufoMan  = UFOManager.GetInstance();
            UFO        ufo     = ufoMan.pUFO;
            PCSTree    pcsTree = GameObjectManager.GetRootTree();

            Debug.Assert(pcsTree != null);

            Bomb pBomb = new Bomb(GameObjectName.UFOBomb, SpriteBaseName.UFOBomb, new FallStraight(), ufo.x, ufo.y, 0);

            pBomb.pProxySprite.pSprite.SetColor(ColorFactory.Create(ColorName.Red).pAzulColor);
            ufoMan.pBomb = pBomb;

            SpriteBatch sbAliens = SpriteBatchManager.Find(SpriteBatchName.Aliens);
            SpriteBatch sbBoxes  = SpriteBatchManager.Find(SpriteBatchName.Boxes);

            pBomb.ActivateCollisionSprite(sbBoxes);
            pBomb.ActivateGameSprite(sbAliens);

            GameObject pBombRoot = GameObjectManager.Find(GameObjectName.BombRoot);

            Debug.Assert(pBombRoot != null);

            pcsTree.Insert(ufoMan.pBomb, pBombRoot);
            SetUFOBombActive(true);
            Debug.WriteLine("UFO Bomb dropped!");
        }
Exemplo n.º 3
0
        public static UFO GetUFO()
        {
            UFOManager ufoMan = UFOManager.GetInstance();

            Debug.Assert(ufoMan.pUFO != null);
            return(ufoMan.pUFO);
        }
Exemplo n.º 4
0
        public static void DeactivateBomb()
        {
            Debug.WriteLine("Deactivating UFO Bomb!");
            UFOManager ufoMan = UFOManager.GetInstance();

            ufoMan.pBomb.Remove();
            Debug.WriteLine("Deactivated UFO Bomb success!");
            SetUFOBombActive(false);
        }
Exemplo n.º 5
0
        public static bool IsUFOBombActive()
        {
            UFOManager ufoMan = UFOManager.GetInstance();

            return(ufoMan.isUFOBombActive);
        }
Exemplo n.º 6
0
        public static void SetUFOBombActive(bool isActive)
        {
            UFOManager ufoMan = UFOManager.GetInstance();

            ufoMan.isUFOBombActive = isActive;
        }
Exemplo n.º 7
0
        public static Bomb GetBomb()
        {
            UFOManager ufoMan = UFOManager.GetInstance();

            return(ufoMan.pBomb);
        }