Example #1
0
        public override void Update(GameTime dt)
        {
            if (!AudioManager.MusicPlaying)
            {
                Dictionary<string, string> loctosong = new Dictionary<string, string>();

                string currentSong = AudioManager.CurrentSong;
                if (currentSong == "troublemaker")
                {
                    AudioManager.PlayMusic(location);
                }
                else
                {
                    AudioManager.PlayMusic("troublemaker");
                }
            }
            #if WINDOWS_PHONE
            AdSystem.TargetTop = false;
            #endif

            ExplosionPlayed = false;
            woodSFX = cementSFX = glassSFX = false;
            cementTime -= gttf(dt);
            woodTime -= gttf(dt);
            glassTime -= gttf(dt);
            if (!IsTopScreen)
            {
                for (int i = 0; i < scene.Nodes.Count; i++)
                {
                    //if (scene.Nodes[i] is Fox)
                    {
                        scene.Nodes[i].Update(dt);
                    }
                }
                return;
            }
            feathers.Update(dt);
            if (!loadedUp)
            {
                return;
            }
            if (CheckFlag(Jabber.Flags.FADE_IN))
            {
                if (loadedUp)
                {
                    OnFadeInComplete();
                }
            }
            else
            {
                world.Update(dt);
                base.Update(dt);
                timer += gttf(dt);
                gameTime = dt;

                CheckEndGame(dt);
            }

            if (blank != null)
            {
                blank.Update(dt);
                if (blank.StateFlag == Jabber.StateFlag.FADE_IN_COMPLETE)
                {
                    if (!IsQuitting)
                    {
                        LevelEndScreen n = new LevelEndScreen(this);
                        n.Initialize(Content);
                        ScreenManager.Get.AddScreen(n);

                        LowerFlag(Jabber.Flags.FADE_OUT);
                        LowerFlag(Jabber.Flags.FADE_IN);

                        if(GetRemainingFox() == 0)
                            AudioManager.PlayOnce("Sounds/Win_Stinger");
                        else
                            AudioManager.PlayOnce("Sounds/Lose_Stinger");
                    }
                    else
                    {
                        RaiseFlag(Jabber.Flags.DELETE);
                        WorldSelectScreen s = new WorldSelectScreen();
                        s.Initialize(Content);
                        s.SetCurrentCountry(location);
                        ScreenManager.Get.AddScreen(s);
                    }
                }
            }
        }
Example #2
0
        public override void Update(GameTime dt)
        {
            if (!AudioManager.MusicPlaying)
            {
                Dictionary <string, string> loctosong = new Dictionary <string, string>();

                string currentSong = AudioManager.CurrentSong;
                if (currentSong == "troublemaker")
                {
                    AudioManager.PlayMusic(location);
                }
                else
                {
                    AudioManager.PlayMusic("troublemaker");
                }
            }
#if WINDOWS_PHONE
            AdSystem.TargetTop = false;
#endif

            ExplosionPlayed = false;
            woodSFX         = cementSFX = glassSFX = false;
            cementTime     -= gttf(dt);
            woodTime       -= gttf(dt);
            glassTime      -= gttf(dt);
            if (!IsTopScreen)
            {
                for (int i = 0; i < scene.Nodes.Count; i++)
                {
                    //if (scene.Nodes[i] is Fox)
                    {
                        scene.Nodes[i].Update(dt);
                    }
                }
                return;
            }
            feathers.Update(dt);
            if (!loadedUp)
            {
                return;
            }
            if (CheckFlag(Jabber.Flags.FADE_IN))
            {
                if (loadedUp)
                {
                    OnFadeInComplete();
                }
            }
            else
            {
                world.Update(dt);
                base.Update(dt);
                timer   += gttf(dt);
                gameTime = dt;

                CheckEndGame(dt);
            }

            if (blank != null)
            {
                blank.Update(dt);
                if (blank.StateFlag == Jabber.StateFlag.FADE_IN_COMPLETE)
                {
                    if (!IsQuitting)
                    {
                        LevelEndScreen n = new LevelEndScreen(this);
                        n.Initialize(Content);
                        ScreenManager.Get.AddScreen(n);

                        LowerFlag(Jabber.Flags.FADE_OUT);
                        LowerFlag(Jabber.Flags.FADE_IN);

                        if (GetRemainingFox() == 0)
                        {
                            AudioManager.PlayOnce("Sounds/Win_Stinger");
                        }
                        else
                        {
                            AudioManager.PlayOnce("Sounds/Lose_Stinger");
                        }
                    }
                    else
                    {
                        RaiseFlag(Jabber.Flags.DELETE);
                        WorldSelectScreen s = new WorldSelectScreen();
                        s.Initialize(Content);
                        s.SetCurrentCountry(location);
                        ScreenManager.Get.AddScreen(s);
                    }
                }
            }
        }
Example #3
0
        public override void ProcessEvent(Jabber.Util.Event ev)
        {
            if (!IsTopScreen)
            {
                return;
            }
            if (ev is ExplosionEvent)
            {
                ExplosionPlayed = true;
            }
            if (!ExplosionPlayed)
            {
                /*
                if (ev is BreakableDestroyed && !(ev is BreakableHit))
                {
                    if (!SFXPlayed((ev as BreakableDestroyed).Broken))
                    {
                       // if (SFXTime((ev as BreakableDestroyed).Broken) <= 0)
                        {
                            BreakableBody.PlaySFXBreakForMaterial((ev as BreakableDestroyed).Broken);
                            SFXPlayed((ev as BreakableDestroyed).Broken, true);
                        }
                    }
                    else
                    {
                        int k = 0;
                    }
                }
                else if (ev is BreakableHit)
                {
                    if (!SFXPlayed((ev as BreakableHit).Broken))
                    {
                        if (SFXTime((ev as BreakableHit).Broken) <= 0.0f)
                        {
                            BreakableBody.PlayHitSFXForMaterial((ev as BreakableHit).Broken);
                            SFXPlayed((ev as BreakableHit).Broken, true);
                        }
                    }
                }*/
            }
            if (ev is CannonFireEvent && scene.ToFire.Count > 0)
            {
                CannonFireEvent e = ev as CannonFireEvent;

                Vector2 dir = e.Dir;
                Chicken chick = null;// new Chicken_Dash(world);

                switch (scene.ToFire[scene.ToFire.Count - 1])
                {
                    case 0:
                        chick = new Chicken(scene);
                        break;
                    case 1:
                        chick = new Chicken_Dash(scene);
                        break;
                    case 2:
                        chick = new Chicken_Egg(scene);
                        break;
                    case 3:
                        chick = new Chicken_Explode(scene);
                        break;
                    case 4:
                        chick = new Chicken_Mini_Launcher(scene);
                        break;
                }

                chick.Initialize(Content);
                chick.Position = e.Position;
                chick.Body.LinearVelocity = dir;
                withChicks.AddNode(chick);

                bForceInactiveChicken = false;
                bFollowingChicken = true;

                scene.ToFire.RemoveAt(scene.ToFire.Count - 1);
            }
            else if (ev is MenuEvent && IsTopScreen)
            {
                if ((ev as MenuEvent).sender is MenuObj)
                {
                    if (((ev as MenuEvent).sender as MenuObj).Name == "pause")
                    {
                        PauseScreen s = new PauseScreen();
                        s.Initialize(Content);
                        ScreenManager.Get.AddScreen(s);
                    }
                    else if (((ev as MenuEvent).sender as MenuObj).Name == "restart")
                    {
                        Restart();
                        AudioManager.PlayOnce("Sounds/Restart");
                    }
                    else if (((ev as MenuEvent).sender as MenuObj).Name == "forceendgame")
                    {
                        //if (!AnyFox)
                        {
                            for (int i = 0; i < scene.Nodes.Count; i++)
                            {
                                if (scene.Nodes[i] is DonutCase)
                                {
                                    scene.Nodes[i].RaiseFlag(Flags.DELETE);
                                    scene.Nodes[i].UnloadContent();
                                    scene.Nodes.RemoveAt(i); --i;
                                }
                                else if(scene.Nodes[i] is Donut)
                                {
                                    scene.Nodes[i].RaiseFlag(Flags.DELETE);
                                    scene.Nodes[i].UnloadContent();
                                    scene.Nodes.RemoveAt(i); --i;
                                }
                            }
                            //HasWon = true;
                            LevelEndScreen n = new LevelEndScreen(this);
                            n.Initialize(Content);
                            ScreenManager.Get.AddScreen(n);

                            LowerFlag(Jabber.Flags.FADE_OUT);
                            LowerFlag(Jabber.Flags.FADE_IN);

                            if (GetRemainingFox() == 0)
                                AudioManager.PlayOnce("Sounds/Win_Stinger");
                            else
                                AudioManager.PlayOnce("Sounds/Lose_Stinger");
                        }
                    }
                }
            }
            base.ProcessEvent(ev);
        }
Example #4
0
        public override void ProcessEvent(Jabber.Util.Event ev)
        {
            if (!IsTopScreen)
            {
                return;
            }
            if (ev is ExplosionEvent)
            {
                ExplosionPlayed = true;
            }
            if (!ExplosionPlayed)
            {
                /*
                 * if (ev is BreakableDestroyed && !(ev is BreakableHit))
                 * {
                 *  if (!SFXPlayed((ev as BreakableDestroyed).Broken))
                 *  {
                 *     // if (SFXTime((ev as BreakableDestroyed).Broken) <= 0)
                 *      {
                 *          BreakableBody.PlaySFXBreakForMaterial((ev as BreakableDestroyed).Broken);
                 *          SFXPlayed((ev as BreakableDestroyed).Broken, true);
                 *      }
                 *  }
                 *  else
                 *  {
                 *      int k = 0;
                 *  }
                 * }
                 * else if (ev is BreakableHit)
                 * {
                 *  if (!SFXPlayed((ev as BreakableHit).Broken))
                 *  {
                 *      if (SFXTime((ev as BreakableHit).Broken) <= 0.0f)
                 *      {
                 *          BreakableBody.PlayHitSFXForMaterial((ev as BreakableHit).Broken);
                 *          SFXPlayed((ev as BreakableHit).Broken, true);
                 *      }
                 *  }
                 * }*/
            }
            if (ev is CannonFireEvent && scene.ToFire.Count > 0)
            {
                CannonFireEvent e = ev as CannonFireEvent;

                Vector2 dir   = e.Dir;
                Chicken chick = null;// new Chicken_Dash(world);

                switch (scene.ToFire[scene.ToFire.Count - 1])
                {
                case 0:
                    chick = new Chicken(scene);
                    break;

                case 1:
                    chick = new Chicken_Dash(scene);
                    break;

                case 2:
                    chick = new Chicken_Egg(scene);
                    break;

                case 3:
                    chick = new Chicken_Explode(scene);
                    break;

                case 4:
                    chick = new Chicken_Mini_Launcher(scene);
                    break;
                }


                chick.Initialize(Content);
                chick.Position            = e.Position;
                chick.Body.LinearVelocity = dir;
                withChicks.AddNode(chick);

                bForceInactiveChicken = false;
                bFollowingChicken     = true;

                scene.ToFire.RemoveAt(scene.ToFire.Count - 1);
            }
            else if (ev is MenuEvent && IsTopScreen)
            {
                if ((ev as MenuEvent).sender is MenuObj)
                {
                    if (((ev as MenuEvent).sender as MenuObj).Name == "pause")
                    {
                        PauseScreen s = new PauseScreen();
                        s.Initialize(Content);
                        ScreenManager.Get.AddScreen(s);
                    }
                    else if (((ev as MenuEvent).sender as MenuObj).Name == "restart")
                    {
                        Restart();
                        AudioManager.PlayOnce("Sounds/Restart");
                    }
                    else if (((ev as MenuEvent).sender as MenuObj).Name == "forceendgame")
                    {
                        //if (!AnyFox)
                        {
                            for (int i = 0; i < scene.Nodes.Count; i++)
                            {
                                if (scene.Nodes[i] is DonutCase)
                                {
                                    scene.Nodes[i].RaiseFlag(Flags.DELETE);
                                    scene.Nodes[i].UnloadContent();
                                    scene.Nodes.RemoveAt(i); --i;
                                }
                                else if (scene.Nodes[i] is Donut)
                                {
                                    scene.Nodes[i].RaiseFlag(Flags.DELETE);
                                    scene.Nodes[i].UnloadContent();
                                    scene.Nodes.RemoveAt(i); --i;
                                }
                            }
                            //HasWon = true;
                            LevelEndScreen n = new LevelEndScreen(this);
                            n.Initialize(Content);
                            ScreenManager.Get.AddScreen(n);

                            LowerFlag(Jabber.Flags.FADE_OUT);
                            LowerFlag(Jabber.Flags.FADE_IN);

                            if (GetRemainingFox() == 0)
                            {
                                AudioManager.PlayOnce("Sounds/Win_Stinger");
                            }
                            else
                            {
                                AudioManager.PlayOnce("Sounds/Lose_Stinger");
                            }
                        }
                    }
                }
            }
            base.ProcessEvent(ev);
        }