public static void LoadAlienAnimations()
        {
            //----------------------
            //Animated Sprite (Attached to TimerManager
            //Each animation is a TimerEvent following command pattern;

            // Create alien animation sprites
            AnimationSprite pAnim_Squid = new AnimationSprite(GameSprite.Name.Squid);
            AnimationSprite pAnim_Crab  = new AnimationSprite(GameSprite.Name.Crab);
            AnimationSprite pAnim_Octo  = new AnimationSprite(GameSprite.Name.Octopus);

            //explosion animation
            AnimationSprite pAnim_AlienExplosion_Pop = new AnimationSprite(GameSprite.Name.AlienExplosion);


            // attach to death manager for garbage collection management
            DeathManager.Attach(pAnim_Squid);
            DeathManager.Attach(pAnim_Crab);
            DeathManager.Attach(pAnim_Octo);

            DeathManager.Attach(pAnim_AlienExplosion_Pop);

            // attach alternating images to animation cycle

            pAnim_Squid.Attach(Image.Name.SquidClosed);
            pAnim_Squid.Attach(Image.Name.SquidOpen);


            pAnim_Crab.Attach(Image.Name.CrabClosed);
            pAnim_Crab.Attach(Image.Name.CrabOpen);


            pAnim_Octo.Attach(Image.Name.OctopusClosed);
            pAnim_Octo.Attach(Image.Name.OctopusOpen);

            // add AnimationSprite to timer

            //set the interval between events and add sprite animation event objects to timer manager;
            float animInterval = 1.0f;

            TimerEventManager.Add(TimerEvent.Name.SpriteAnimation, pAnim_Squid, animInterval);
            TimerEventManager.Add(TimerEvent.Name.SpriteAnimation, pAnim_Crab, animInterval);
            TimerEventManager.Add(TimerEvent.Name.SpriteAnimation, pAnim_Octo, animInterval);
        }
Example #2
0
        public override void Execute(float deltaTime)
        {
            // advance to next image
            ImageHolder pImageHolder = (ImageHolder)this.pCurrImage.pSNext;

            // if at end of list, set to first
            if (pImageHolder == null)
            {
                pImageHolder = (ImageHolder)poFirstImage;
            }

            // squirrel away for next timer event
            this.pCurrImage = pImageHolder;

            // change image
            this.pSprite.ChangeImage(pImageHolder.pImage);

            // Add itself back to timer
            TimerEventManager.Add(TimerEvent.Name.SpriteAnimation, this, deltaTime);
        }
        public static void LoadBombAnimations()
        {
            //-----------------

            // Create bomb animation sprites
            AnimationSprite pAnim_CrossAlienBomb   = new AnimationSprite(GameSprite.Name.CrossAlienBomb);
            AnimationSprite pAnim_ZigZagAlienBomb  = new AnimationSprite(GameSprite.Name.ZigZagAlienBomb);
            AnimationSprite pAnim_RollingAlienBomb = new AnimationSprite(GameSprite.Name.RollingAlienBomb);

            // attach to death manager for garbage collection management
            DeathManager.Attach(pAnim_CrossAlienBomb);
            DeathManager.Attach(pAnim_ZigZagAlienBomb);
            DeathManager.Attach(pAnim_RollingAlienBomb);

            // attach alternating images to animation cycle

            pAnim_CrossAlienBomb.Attach(Image.Name.AlienBombCross_Two);
            pAnim_CrossAlienBomb.Attach(Image.Name.AlienBombCross_Three);
            pAnim_CrossAlienBomb.Attach(Image.Name.AlienBombCross_Four);
            pAnim_CrossAlienBomb.Attach(Image.Name.AlienBombCross_One);

            pAnim_ZigZagAlienBomb.Attach(Image.Name.AlienBombZigZag_Two);
            pAnim_ZigZagAlienBomb.Attach(Image.Name.AlienBombZigZag_Three);
            pAnim_ZigZagAlienBomb.Attach(Image.Name.AlienBombZigZag_Four);
            pAnim_ZigZagAlienBomb.Attach(Image.Name.AlienBombZigZag_One);

            pAnim_RollingAlienBomb.Attach(Image.Name.AlienBombRolling_Three);
            pAnim_RollingAlienBomb.Attach(Image.Name.AlienBombRolling_Two);

            //set the interval between events and add sprite animation event objects to timer manager;
            float animInterval = 0.01f;

            TimerEventManager.Add(TimerEvent.Name.BombAnimation, pAnim_CrossAlienBomb, animInterval);
            TimerEventManager.Add(TimerEvent.Name.BombAnimation, pAnim_ZigZagAlienBomb, animInterval);
            TimerEventManager.Add(TimerEvent.Name.BombAnimation, pAnim_RollingAlienBomb, animInterval);
        }