Exemple #1
0
        public void Kill()
        {
            TimeSpan  FrameInterval = new TimeSpan(0);
            Animation An            = AnimationManager.getInstance().Find(AnimName.UfoDeath);

            TimeEventManager.getInstance().Add(TimeEventManager.getInstance().GetCurrentTime() + FrameInterval, An, delegate { Actions.Animate(An, this); });
        }
Exemple #2
0
        public static void Animate(Animation Anim, Bomb bomb)
        {
            bomb.FlipSprite(Anim.getNextFrame());

            if (bomb.getStatus())
            {
                TimeSpan  FrameInterval = new TimeSpan(2000000);
                Animation An            = AnimationManager.getInstance().Find(AnimName.BombAnim);
                TimeEventManager.getInstance().Add(TimeEventManager.getInstance().GetCurrentTime() + FrameInterval, An, delegate { Actions.Animate(An, bomb); });
            }
        }
Exemple #3
0
        public override void VisitBomb(Bomb inBomb)
        {
            ((Super)(GameObjMananger.getInstance().Find(GameObjName.Super))).ReloadBomb(inBomb);

            if (Status == playerStatus.Live)
            {
                TimeSpan  FrameInterval = new TimeSpan(0);
                Animation An            = AnimationManager.getInstance().Find(AnimName.ShipDeath);
                TimeEventManager.getInstance().Add(TimeEventManager.getInstance().GetCurrentTime() + FrameInterval, An, delegate { Actions.Animate(An, this); });
            }
        }
Exemple #4
0
        public void Update(Column inColumn)
        {
            if (usedBomb < MaxBomb)
            {
                bool drop = DropBomb(inColumn);

                if (drop)
                {
                    TimeSpan  FrameInterval = new TimeSpan(1750000);
                    Animation An            = AnimationManager.getInstance().Find(AnimName.BombAnim);
                    TimeEventManager.getInstance().Add(TimeEventManager.getInstance().GetCurrentTime() + FrameInterval, An, delegate { Actions.Animate(An, inColumn.getAssignedBomb()); });
                }
            }
        }
        public void Initialize(GraphicsDeviceManager graphics, SpriteBatch spritebatch)
        {
            TextureManager.getInstance().Initialize();
            TextureManager.getInstance().CreateGameTextures();

            SoundManager.getInstance().Initialize();
            SoundManager.getInstance().CreateSounds();

            ImageManager.getInstance().Initialize();
            ImageManager.getInstance().CreateGameImages();

            SpriteManager.getInstance().Initialize();
            SpriteManager.getInstance().CreateAllSprites();

            AnimationManager.getInstance().Initialize();
            AnimationManager.getInstance().CreateAnimations();

            SpriteBatchManager.getInstance().Initialize();
            SpriteBatchManager.getInstance().CreateAllSpriteBatches(graphics.GraphicsDevice);
            SpriteBatchManager.getInstance().CreateMenu(graphics.GraphicsDevice);

            ColObjManager.getInstance().Initialize();
            GameObjMananger.getInstance().Initialize();

            ColGroupManager.getInstance().Initialize();
            ColGroupManager.getInstance().Create();

            ColPairManager.getInstance().Initialize();
            ColPairManager.getInstance().CreateCollisionPairs();

            GameObjMananger.getInstance().CreateSuper();
            GameObjMananger.getInstance().CreateLevel(graphics.GraphicsDevice);
            GameObjMananger.getInstance().CreateShield();
            GameObjMananger.getInstance().CreateShip();
            GameObjMananger.getInstance().CreateUI();
            GameObjMananger.getInstance().CreateUfo();

            InputManager.Instance().Initialize();
            TimeEventManager.getInstance().Initialize();
            TimeEventManager.getInstance().StartTimedEvents();

            ScreenManager.Instance().CurrentScreen = Screen.MainMenu;
            ScreenManager.Instance().switchScreen();

            getCurrentPlayerData();

            CurrLevel  = 0;
            Difficulty = CurrLevel * 2;
        }
        public void CreateAnimations()
        {
            ///Create Bomb Animation
            Animation Bombs        = new Animation(SpriteManager.getInstance().find(SpriteName.Bomb), 2, AnimSpeed.Medium, AnimName.BombAnim);
            Frame     Bomb_Frame_1 = new Frame(SpriteName.Bomb, 0);
            Frame     Bomb_Frame_2 = new Frame(SpriteName.BombRev, 1);

            Bombs.Add(Bomb_Frame_1);
            Bombs.Add(Bomb_Frame_2);

            AnimationManager.getInstance().Add(Bombs);

            ///Create Explosion Animation (Crab)
            Animation Explosion         = new Animation(SpriteManager.getInstance().find(SpriteName.Explosion), 1, AnimSpeed.Medium, AnimName.AlienDeath);
            Frame     Explosion_Frame_1 = new Frame(SpriteName.Explosion, 0);

            Explosion.Add(Explosion_Frame_1);

            AnimationManager.getInstance().Add(Explosion);

            ///Create Explosion Animation (Squid)
            ///Create Explosion Animation (Octopus)
            ///Create Explosion Animation (Ship)

            Animation Death         = new Animation(SpriteManager.getInstance().find(SpriteName.Ship), 2, AnimSpeed.Medium, AnimName.ShipDeath);
            Frame     Death_Frame_1 = new Frame(SpriteName.Explosion2, 0);
            Frame     Death_Frame_2 = new Frame(SpriteName.Ship, 0);

            Death.Add(Death_Frame_1);
            Death.Add(Death_Frame_2);

            AnimationManager.getInstance().Add(Death);

            ///Create Explosion Animation (UFO)

            Animation UfoExp         = new Animation(SpriteManager.getInstance().find(SpriteName.Explosion3), 1, AnimSpeed.Medium, AnimName.UfoDeath);
            Frame     UfoExp_Frame_1 = new Frame(SpriteName.Explosion3, 0);

            //Frame Bomb_Frame_2 = new Frame(SpriteName.BombRev, 1);

            UfoExp.Add(UfoExp_Frame_1);

            AnimationManager.getInstance().Add(UfoExp);
        }
        public void Update(GameTime gameTime)
        {
            currentPlayerStatus = ((Ship)(GameObjMananger.getInstance().Find(GameObjName.Ship))).Status;

            InputManager.Instance().Update(ScreenManager.Instance().CurrentScreen);

            if (currentPlayerStatus != playerStatus.Dead && ScreenManager.Instance().CurrentScreen == Screen.Game)
            {
                ColPairManager.getInstance().Collide();
                GameObjMananger.getInstance().Update(gameTime);
                TimeEventManager.getInstance().Update(gameTime);
                AnimationManager.getInstance().Update(gameTime);
                UpdateHIScore();
            }

            if (currentPlayerStatus == playerStatus.Dead && ScreenManager.Instance().CurrentScreen == Screen.Game)
            {
                GAMEOVER();
            }
        }