예제 #1
0
 // Token: 0x06000FB2 RID: 4018 RVA: 0x00142EA0 File Offset: 0x001410A0
 public override void receiveLeftClick(int x, int y, bool playSound = true)
 {
     if (this.outro && !this.savedYet)
     {
         SaveGameMenu arg_16_0 = this.saveGameMenu;
         return;
     }
     if (this.savedYet)
     {
         return;
     }
     base.receiveLeftClick(x, y, playSound);
     if (this.currentPage == -1 && this.okButton.containsPoint(x, y))
     {
         this.outro          = true;
         this.outroFadeTimer = 800;
         Game1.playSound("bigDeSelect");
         Game1.changeMusicTrack("none");
     }
     if (this.currentPage == -1)
     {
         for (int i = 0; i < this.categories.Count; i++)
         {
             if (this.categories[i].visible && this.categories[i].containsPoint(x, y))
             {
                 this.currentPage = i;
                 Game1.playSound("shwip");
                 return;
             }
         }
         return;
     }
     if (this.backButton.containsPoint(x, y))
     {
         if (this.currentTab == 0)
         {
             this.currentPage = -1;
         }
         else
         {
             this.currentTab--;
         }
         Game1.playSound("shwip");
         return;
     }
     if (this.showForwardButton() && this.forwardButton.containsPoint(x, y))
     {
         this.currentTab++;
         Game1.playSound("shwip");
     }
 }
예제 #2
0
 public override void receiveLeftClick(int x, int y, bool playSound = true)
 {
     if (this.outro && !this.savedYet)
     {
         SaveGameMenu arg_16_0 = this.saveGameMenu;
         return;
     }
     if (this.savedYet)
     {
         return;
     }
     base.receiveLeftClick(x, y, playSound);
     if (this.currentPage == -1 && this.introTimer <= 0 && this.okButton.containsPoint(x, y))
     {
         this.okClicked();
     }
     if (this.currentPage == -1)
     {
         int i = 0;
         while (i < this.categories.Count)
         {
             if (this.categories[i].visible && this.categories[i].containsPoint(x, y))
             {
                 this.currentPage = i;
                 Game1.playSound("shwip");
                 if (Game1.options.SnappyMenus)
                 {
                     this.currentlySnappedComponent = base.getComponentWithID(103);
                     this.snapCursorToCurrentSnappedComponent();
                     return;
                 }
                 return;
             }
             else
             {
                 i++;
             }
         }
         return;
     }
     if (this.backButton.containsPoint(x, y))
     {
         if (this.currentTab == 0)
         {
             if (Game1.options.SnappyMenus)
             {
                 this.currentlySnappedComponent = base.getComponentWithID(this.currentPage);
                 this.snapCursorToCurrentSnappedComponent();
             }
             this.currentPage = -1;
         }
         else
         {
             this.currentTab--;
         }
         Game1.playSound("shwip");
         return;
     }
     if (this.showForwardButton() && this.forwardButton.containsPoint(x, y))
     {
         this.currentTab++;
         Game1.playSound("shwip");
     }
 }
예제 #3
0
 public override void update(GameTime time)
 {
     base.update(time);
     if (this.saveGameMenu != null)
     {
         this.saveGameMenu.update(time);
         if (this.saveGameMenu.quit)
         {
             this.saveGameMenu = null;
             this.savedYet     = true;
         }
     }
     this.weatherX += (float)time.ElapsedGameTime.Milliseconds * 0.03f;
     for (int i = this.animations.Count - 1; i >= 0; i--)
     {
         if (this.animations[i].update(time))
         {
             this.animations.RemoveAt(i);
         }
     }
     if (this.outro)
     {
         if (this.outroFadeTimer > 0)
         {
             this.outroFadeTimer -= time.ElapsedGameTime.Milliseconds;
         }
         else if (this.outroFadeTimer <= 0 && this.dayPlaqueY < this.centerY - Game1.tileSize)
         {
             if (this.animations.Count > 0)
             {
                 this.animations.Clear();
             }
             this.dayPlaqueY += (int)Math.Ceiling((double)((float)time.ElapsedGameTime.Milliseconds * 0.35f));
             if (this.dayPlaqueY >= this.centerY - Game1.tileSize)
             {
                 this.outroPauseBeforeDateChange = 700;
             }
         }
         else if (this.outroPauseBeforeDateChange > 0)
         {
             this.outroPauseBeforeDateChange -= time.ElapsedGameTime.Milliseconds;
             if (this.outroPauseBeforeDateChange <= 0)
             {
                 this.newDayPlaque = true;
                 Game1.playSound("newRecipe");
                 if (!Game1.currentSeason.Equals("winter"))
                 {
                     DelayedAction.playSoundAfterDelay(Game1.isRaining ? "rainsound" : "rooster", 1500);
                 }
                 this.finalOutroTimer = 2000;
                 this.animations.Clear();
                 if (!this.savedYet)
                 {
                     if (this.saveGameMenu == null)
                     {
                         this.saveGameMenu = new SaveGameMenu();
                     }
                     return;
                 }
             }
         }
         else if (this.finalOutroTimer > 0 && this.savedYet)
         {
             this.finalOutroTimer -= time.ElapsedGameTime.Milliseconds;
             if (this.finalOutroTimer <= 0)
             {
                 base.exitThisMenu(false);
             }
         }
     }
     if (this.introTimer >= 0)
     {
         int arg_26E_0 = this.introTimer;
         this.introTimer -= time.ElapsedGameTime.Milliseconds * ((Game1.oldMouseState.LeftButton == ButtonState.Pressed) ? 3 : 1);
         if (arg_26E_0 % 500 < this.introTimer % 500 && this.introTimer <= 3000)
         {
             int num = 4 - this.introTimer / 500;
             if (num < 6 && num > -1)
             {
                 if (this.categoryItems[num].Count > 0)
                 {
                     Game1.playSound(this.getCategorySound(num));
                     this.categoryDials[num].currentValue        = 0;
                     this.categoryDials[num].previousTargetValue = 0;
                 }
                 else
                 {
                     Game1.playSound("stoneStep");
                 }
             }
         }
         if (this.introTimer < 0)
         {
             Game1.playSound("money");
             this.categoryDials[5].currentValue        = 0;
             this.categoryDials[5].previousTargetValue = 0;
             return;
         }
     }
     else if (Game1.dayOfMonth != 28 && !this.outro)
     {
         if (!Game1.wasRainingYesterday)
         {
             Vector2   vector     = new Vector2((float)Game1.viewport.Width, (float)Game1.random.Next(200));
             Rectangle sourceRect = new Rectangle(640, 752, 16, 16);
             int       num2       = Game1.random.Next(1, 4);
             if (Game1.random.NextDouble() < 0.001)
             {
                 bool flag = Game1.random.NextDouble() < 0.5;
                 if (Game1.random.NextDouble() < 0.5)
                 {
                     this.animations.Add(new TemporaryAnimatedSprite(Game1.mouseCursors, new Rectangle(640, 826, 16, 8), 40f, 4, 0, new Vector2((float)Game1.random.Next(this.centerX * 2), (float)Game1.random.Next(this.centerY)), false, flag)
                     {
                         rotation = 3.14159274f,
                         scale    = (float)Game1.pixelZoom,
                         motion   = new Vector2((float)(flag ? -8 : 8), 8f),
                         local    = true
                     });
                 }
                 else
                 {
                     this.animations.Add(new TemporaryAnimatedSprite(Game1.mouseCursors, new Rectangle(258, 1680, 16, 16), 40f, 4, 0, new Vector2((float)Game1.random.Next(this.centerX * 2), (float)Game1.random.Next(this.centerY)), false, flag)
                     {
                         scale  = (float)Game1.pixelZoom,
                         motion = new Vector2((float)(flag ? -8 : 8), 8f),
                         local  = true
                     });
                 }
             }
             else if (Game1.random.NextDouble() < 0.0002)
             {
                 vector = new Vector2((float)Game1.viewport.Width, (float)Game1.random.Next(4, Game1.tileSize * 4));
                 TemporaryAnimatedSprite temporaryAnimatedSprite = new TemporaryAnimatedSprite(Game1.staminaRect, new Rectangle(0, 0, 1, 1), 9999f, 1, 10000, vector, false, false, 0.01f, 0f, Color.White * (0.25f + (float)Game1.random.NextDouble()), 4f, 0f, 0f, 0f, true);
                 temporaryAnimatedSprite.motion = new Vector2(-0.25f, 0f);
                 this.animations.Add(temporaryAnimatedSprite);
             }
             else if (Game1.random.NextDouble() < 5E-05)
             {
                 vector = new Vector2((float)Game1.viewport.Width, (float)(Game1.viewport.Height - Game1.tileSize * 3));
                 for (int j = 0; j < num2; j++)
                 {
                     TemporaryAnimatedSprite temporaryAnimatedSprite2 = new TemporaryAnimatedSprite(Game1.mouseCursors, sourceRect, (float)Game1.random.Next(60, 101), 4, 100, vector + new Vector2((float)((j + 1) * Game1.random.Next(15, 18)), (float)((j + 1) * -20)), false, false, 0.01f, 0f, Color.Black, 4f, 0f, 0f, 0f, true);
                     temporaryAnimatedSprite2.motion = new Vector2(-1f, 0f);
                     this.animations.Add(temporaryAnimatedSprite2);
                     temporaryAnimatedSprite2        = new TemporaryAnimatedSprite(Game1.mouseCursors, sourceRect, (float)Game1.random.Next(60, 101), 4, 100, vector + new Vector2((float)((j + 1) * Game1.random.Next(15, 18)), (float)((j + 1) * 20)), false, false, 0.01f, 0f, Color.Black, 4f, 0f, 0f, 0f, true);
                     temporaryAnimatedSprite2.motion = new Vector2(-1f, 0f);
                     this.animations.Add(temporaryAnimatedSprite2);
                 }
             }
             else if (Game1.random.NextDouble() < 1E-05)
             {
                 sourceRect = new Rectangle(640, 784, 16, 16);
                 TemporaryAnimatedSprite temporaryAnimatedSprite3 = new TemporaryAnimatedSprite(Game1.mouseCursors, sourceRect, 75f, 4, 1000, vector, false, false, 0.01f, 0f, Color.White, 4f, 0f, 0f, 0f, true);
                 temporaryAnimatedSprite3.motion            = new Vector2(-3f, 0f);
                 temporaryAnimatedSprite3.yPeriodic         = true;
                 temporaryAnimatedSprite3.yPeriodicLoopTime = 1000f;
                 temporaryAnimatedSprite3.yPeriodicRange    = (float)(Game1.tileSize / 8);
                 temporaryAnimatedSprite3.shakeIntensity    = 0.5f;
                 this.animations.Add(temporaryAnimatedSprite3);
             }
         }
         this.smokeTimer -= time.ElapsedGameTime.Milliseconds;
         if (this.smokeTimer <= 0)
         {
             this.smokeTimer = 50;
             this.animations.Add(new TemporaryAnimatedSprite(Game1.mouseCursors, new Rectangle(684, 1075, 1, 1), 1000f, 1, 1000, new Vector2((float)(Game1.tileSize * 2 + Game1.tileSize * 3 / 4 + Game1.pixelZoom * 3), (float)(Game1.viewport.Height - Game1.tileSize * 2 + Game1.pixelZoom * 5)), false, false)
             {
                 color        = (Game1.wasRainingYesterday ? Color.SlateGray : Color.White),
                 scale        = (float)Game1.pixelZoom,
                 scaleChange  = 0f,
                 alphaFade    = 0.0025f,
                 motion       = new Vector2(0f, (float)(-(float)Game1.random.Next(25, 75)) / 100f / 4f),
                 acceleration = new Vector2(-0.001f, 0f)
             });
         }
     }
 }
 public override void update(GameTime time)
 {
     base.update(time);
     if (this.saveGameMenu != null)
     {
         this.saveGameMenu.update(time);
         if (this.saveGameMenu.quit)
         {
             this.saveGameMenu = (SaveGameMenu)null;
             this.savedYet     = true;
         }
     }
     this.weatherX += (float)time.ElapsedGameTime.Milliseconds * 0.03f;
     for (int index = Enumerable.Count <TemporaryAnimatedSprite>((IEnumerable <TemporaryAnimatedSprite>) this.animations) - 1; index >= 0; --index)
     {
         if (this.animations[index].update(time))
         {
             this.animations.RemoveAt(index);
         }
     }
     if (this.outro)
     {
         if (this.outroFadeTimer > 0)
         {
             this.outroFadeTimer -= time.ElapsedGameTime.Milliseconds;
         }
         else if (this.outroFadeTimer <= 0 && this.dayPlaqueY < this.centerY - Game1.tileSize)
         {
             if (Enumerable.Count <TemporaryAnimatedSprite>((IEnumerable <TemporaryAnimatedSprite>) this.animations) > 0)
             {
                 this.animations.Clear();
             }
             this.dayPlaqueY += (int)Math.Ceiling((double)time.ElapsedGameTime.Milliseconds * 0.349999994039536);
             if (this.dayPlaqueY >= this.centerY - Game1.tileSize)
             {
                 this.outroPauseBeforeDateChange = 700;
             }
         }
         else if (this.outroPauseBeforeDateChange > 0)
         {
             this.outroPauseBeforeDateChange -= time.ElapsedGameTime.Milliseconds;
             if (this.outroPauseBeforeDateChange <= 0)
             {
                 this.newDayPlaque = true;
                 Game1.playSound("newRecipe");
                 if (!Game1.currentSeason.Equals("winter"))
                 {
                     DelayedAction.playSoundAfterDelay(!Game1.isRaining ? "rooster" : "rainsound", 1500);
                 }
                 this.finalOutroTimer = 2000;
                 this.animations.Clear();
                 if (!this.savedYet)
                 {
                     if (this.saveGameMenu != null)
                     {
                         return;
                     }
                     this.saveGameMenu = new SaveGameMenu();
                     return;
                 }
             }
         }
         else if (this.finalOutroTimer > 0 && this.savedYet)
         {
             this.finalOutroTimer -= time.ElapsedGameTime.Milliseconds;
             if (this.finalOutroTimer <= 0)
             {
                 this.exitThisMenu(false);
             }
         }
     }
     if (this.introTimer >= 0)
     {
         int num = this.introTimer;
         this.introTimer -= time.ElapsedGameTime.Milliseconds * (Game1.oldMouseState.LeftButton != ButtonState.Pressed ? 1 : 3);
         if (num % 500 < this.introTimer % 500 && this.introTimer <= 3000)
         {
             int which = 4 - this.introTimer / 500;
             if (which < 6 && which > -1)
             {
                 if (Enumerable.Count <Item>((IEnumerable <Item>) this.categoryItems[which]) > 0)
                 {
                     Game1.playSound(this.getCategorySound(which));
                     this.categoryDials[which].currentValue        = 0;
                     this.categoryDials[which].previousTargetValue = 0;
                 }
                 else
                 {
                     Game1.playSound("stoneStep");
                 }
             }
         }
         if (this.introTimer >= 0)
         {
             return;
         }
         Game1.playSound("money");
         this.categoryDials[5].currentValue        = 0;
         this.categoryDials[5].previousTargetValue = 0;
     }
     else
     {
         if (Game1.dayOfMonth == 28 || this.outro)
         {
             return;
         }
         if (!Game1.wasRainingYesterday)
         {
             Vector2   position   = new Vector2((float)Game1.viewport.Width, (float)Game1.random.Next(200));
             Rectangle sourceRect = new Rectangle(640, 752, 16, 16);
             int       num        = Game1.random.Next(1, 4);
             if (Game1.random.NextDouble() < 0.001)
             {
                 bool flipped = Game1.random.NextDouble() < 0.5;
                 if (Game1.random.NextDouble() < 0.5)
                 {
                     this.animations.Add(new TemporaryAnimatedSprite(Game1.mouseCursors, new Rectangle(640, 826, 16, 8), 40f, 4, 0, new Vector2((float)Game1.random.Next(this.centerX * 2), (float)Game1.random.Next(this.centerY)), false, flipped)
                     {
                         rotation = 3.141593f,
                         scale    = (float)Game1.pixelZoom,
                         motion   = new Vector2(!flipped ? 8f : -8f, 8f),
                         local    = true
                     });
                 }
                 else
                 {
                     this.animations.Add(new TemporaryAnimatedSprite(Game1.mouseCursors, new Rectangle(258, 1680, 16, 16), 40f, 4, 0, new Vector2((float)Game1.random.Next(this.centerX * 2), (float)Game1.random.Next(this.centerY)), false, flipped)
                     {
                         scale  = (float)Game1.pixelZoom,
                         motion = new Vector2(!flipped ? 8f : -8f, 8f),
                         local  = true
                     });
                 }
             }
             else if (Game1.random.NextDouble() < 0.0002)
             {
                 position = new Vector2((float)Game1.viewport.Width, (float)Game1.random.Next(4, Game1.tileSize * 4));
                 this.animations.Add(new TemporaryAnimatedSprite(Game1.staminaRect, new Rectangle(0, 0, 1, 1), 9999f, 1, 10000, position, false, false, 0.01f, 0.0f, Color.White * (0.25f + (float)Game1.random.NextDouble()), 4f, 0.0f, 0.0f, 0.0f, true)
                 {
                     motion = new Vector2(-0.25f, 0.0f)
                 });
             }
             else if (Game1.random.NextDouble() < 5E-05)
             {
                 position = new Vector2((float)Game1.viewport.Width, (float)(Game1.viewport.Height - Game1.tileSize * 3));
                 for (int index = 0; index < num; ++index)
                 {
                     this.animations.Add(new TemporaryAnimatedSprite(Game1.mouseCursors, sourceRect, (float)Game1.random.Next(60, 101), 4, 100, position + new Vector2((float)((index + 1) * Game1.random.Next(15, 18)), (float)((index + 1) * -20)), false, false, 0.01f, 0.0f, Color.Black, 4f, 0.0f, 0.0f, 0.0f, true)
                     {
                         motion = new Vector2(-1f, 0.0f)
                     });
                     this.animations.Add(new TemporaryAnimatedSprite(Game1.mouseCursors, sourceRect, (float)Game1.random.Next(60, 101), 4, 100, position + new Vector2((float)((index + 1) * Game1.random.Next(15, 18)), (float)((index + 1) * 20)), false, false, 0.01f, 0.0f, Color.Black, 4f, 0.0f, 0.0f, 0.0f, true)
                     {
                         motion = new Vector2(-1f, 0.0f)
                     });
                 }
             }
             else if (Game1.random.NextDouble() < 1E-05)
             {
                 sourceRect = new Rectangle(640, 784, 16, 16);
                 this.animations.Add(new TemporaryAnimatedSprite(Game1.mouseCursors, sourceRect, 75f, 4, 1000, position, false, false, 0.01f, 0.0f, Color.White, 4f, 0.0f, 0.0f, 0.0f, true)
                 {
                     motion            = new Vector2(-3f, 0.0f),
                     yPeriodic         = true,
                     yPeriodicLoopTime = 1000f,
                     yPeriodicRange    = (float)(Game1.tileSize / 8),
                     shakeIntensity    = 0.5f
                 });
             }
         }
         this.smokeTimer -= time.ElapsedGameTime.Milliseconds;
         if (this.smokeTimer <= 0)
         {
             this.smokeTimer = 50;
             this.animations.Add(new TemporaryAnimatedSprite(Game1.mouseCursors, new Rectangle(684, 1075, 1, 1), 1000f, 1, 1000, new Vector2((float)(Game1.tileSize * 2 + Game1.tileSize * 3 / 4 + Game1.pixelZoom * 3), (float)(Game1.viewport.Height - Game1.tileSize * 2 + Game1.pixelZoom * 5)), false, false)
             {
                 color        = !Game1.wasRainingYesterday ? Color.White : Color.SlateGray,
                 scale        = (float)Game1.pixelZoom,
                 scaleChange  = 0.0f,
                 alphaFade    = (float)1.0 / (float)400.0,
                 motion       = new Vector2(0.0f, (float)((double)-Game1.random.Next(25, 75) / 100.0 / 4.0)),
                 acceleration = new Vector2((float)-1.0 / (float)1000.0, 0.0f)
             });
         }
     }
 }
예제 #5
0
 public override void receiveLeftClick(int x, int y, bool playSound = true)
 {
     if (this.outro && !this.savedYet)
     {
         SaveGameMenu saveGameMenu = this.saveGameMenu;
     }
     else
     {
         if (this.savedYet)
         {
             return;
         }
         base.receiveLeftClick(x, y, playSound);
         if (this.currentPage == -1 && this.introTimer <= 0 && this.okButton.containsPoint(x, y))
         {
             this.okClicked();
         }
         if (this.currentPage == -1)
         {
             for (int index = 0; index < this.categories.Count; ++index)
             {
                 if (this.categories[index].visible && this.categories[index].containsPoint(x, y))
                 {
                     this.currentPage = index;
                     Game1.playSound("shwip");
                     if (!Game1.options.SnappyMenus)
                     {
                         break;
                     }
                     this.currentlySnappedComponent = this.getComponentWithID(103);
                     this.snapCursorToCurrentSnappedComponent();
                     break;
                 }
             }
         }
         else if (this.backButton.containsPoint(x, y))
         {
             if (this.currentTab == 0)
             {
                 if (Game1.options.SnappyMenus)
                 {
                     this.currentlySnappedComponent = this.getComponentWithID(this.currentPage);
                     this.snapCursorToCurrentSnappedComponent();
                 }
                 this.currentPage = -1;
             }
             else
             {
                 this.currentTab = this.currentTab - 1;
             }
             Game1.playSound("shwip");
         }
         else
         {
             if (!this.showForwardButton() || !this.forwardButton.containsPoint(x, y))
             {
                 return;
             }
             this.currentTab = this.currentTab + 1;
             Game1.playSound("shwip");
         }
     }
 }
예제 #6
0
 public override void update(GameTime time)
 {
     base.update(time);
     if (_hasFinished)
     {
         if (Game1.PollForEndOfNewDaySync())
         {
             exitThisMenu(playSound: false);
         }
         return;
     }
     if (saveGameMenu != null)
     {
         saveGameMenu.update(time);
         if (saveGameMenu.quit)
         {
             saveGameMenu = null;
             savedYet     = true;
         }
     }
     weatherX += (float)time.ElapsedGameTime.Milliseconds * 0.03f;
     for (int j = animations.Count - 1; j >= 0; j--)
     {
         if (animations[j].update(time))
         {
             animations.RemoveAt(j);
         }
     }
     if (outro)
     {
         if (outroFadeTimer > 0)
         {
             outroFadeTimer -= time.ElapsedGameTime.Milliseconds;
         }
         else if (outroFadeTimer <= 0 && dayPlaqueY < centerY - 64)
         {
             if (animations.Count > 0)
             {
                 animations.Clear();
             }
             dayPlaqueY += (int)Math.Ceiling((float)time.ElapsedGameTime.Milliseconds * 0.35f);
             if (dayPlaqueY >= centerY - 64)
             {
                 outroPauseBeforeDateChange = 700;
             }
         }
         else if (outroPauseBeforeDateChange > 0)
         {
             outroPauseBeforeDateChange -= time.ElapsedGameTime.Milliseconds;
             if (outroPauseBeforeDateChange <= 0)
             {
                 newDayPlaque = true;
                 Game1.playSound("newRecipe");
                 if (!Game1.currentSeason.Equals("winter"))
                 {
                     DelayedAction.playSoundAfterDelay(Game1.isRaining ? "rainsound" : "rooster", 1500);
                 }
                 finalOutroTimer = 2000;
                 animations.Clear();
                 if (!savedYet)
                 {
                     if (saveGameMenu == null)
                     {
                         saveGameMenu = new SaveGameMenu();
                     }
                     return;
                 }
             }
         }
         else if (finalOutroTimer > 0 && savedYet)
         {
             finalOutroTimer -= time.ElapsedGameTime.Milliseconds;
             if (finalOutroTimer <= 0)
             {
                 _hasFinished = true;
             }
         }
     }
     if (introTimer >= 0)
     {
         int num = introTimer;
         introTimer -= time.ElapsedGameTime.Milliseconds * ((Game1.oldMouseState.LeftButton != ButtonState.Pressed) ? 1 : 3);
         if (num % 500 < introTimer % 500 && introTimer <= 3000)
         {
             int categoryThatPoppedUp = 4 - introTimer / 500;
             if (categoryThatPoppedUp < 6 && categoryThatPoppedUp > -1)
             {
                 if (categoryItems[categoryThatPoppedUp].Count > 0)
                 {
                     Game1.playSound(getCategorySound(categoryThatPoppedUp));
                     categoryDials[categoryThatPoppedUp].currentValue        = 0;
                     categoryDials[categoryThatPoppedUp].previousTargetValue = 0;
                 }
                 else
                 {
                     Game1.playSound("stoneStep");
                 }
             }
         }
         if (introTimer < 0)
         {
             if (Game1.options.SnappyMenus)
             {
                 snapToDefaultClickableComponent();
             }
             Game1.playSound("money");
             categoryDials[5].currentValue        = 0;
             categoryDials[5].previousTargetValue = 0;
         }
     }
     else if (Game1.dayOfMonth != 28 && !outro)
     {
         if (!Game1.wasRainingYesterday)
         {
             Vector2   startingPosition2 = new Vector2(Game1.viewport.Width, Game1.random.Next(200));
             Rectangle sourceRect2       = new Rectangle(640, 752, 16, 16);
             int       rows = Game1.random.Next(1, 4);
             if (Game1.random.NextDouble() < 0.001)
             {
                 bool flip = Game1.random.NextDouble() < 0.5;
                 if (Game1.random.NextDouble() < 0.5)
                 {
                     animations.Add(new TemporaryAnimatedSprite("LooseSprites\\Cursors", new Rectangle(640, 826, 16, 8), 40f, 4, 0, new Vector2(Game1.random.Next(centerX * 2), Game1.random.Next(centerY)), flicker: false, flip)
                     {
                         rotation = (float)Math.PI,
                         scale    = 4f,
                         motion   = new Vector2(flip ? (-8) : 8, 8f),
                         local    = true
                     });
                 }
                 else
                 {
                     animations.Add(new TemporaryAnimatedSprite("LooseSprites\\Cursors", new Rectangle(258, 1680, 16, 16), 40f, 4, 0, new Vector2(Game1.random.Next(centerX * 2), Game1.random.Next(centerY)), flicker: false, flip)
                     {
                         scale  = 4f,
                         motion = new Vector2(flip ? (-8) : 8, 8f),
                         local  = true
                     });
                 }
             }
             else if (Game1.random.NextDouble() < 0.0002)
             {
                 TemporaryAnimatedSprite bird3 = new TemporaryAnimatedSprite(position: new Vector2(Game1.viewport.Width, Game1.random.Next(4, 256)), textureName: "", sourceRect: new Rectangle(0, 0, 1, 1), animationInterval: 9999f, animationLength: 1, numberOfLoops: 10000, flicker: false, flipped: false, layerDepth: 0.01f, alphaFade: 0f, color: Color.White * (0.25f + (float)Game1.random.NextDouble()), scale: 4f, scaleChange: 0f, rotation: 0f, rotationChange: 0f, local: true);
                 bird3.motion = new Vector2(-0.25f, 0f);
                 animations.Add(bird3);
             }
             else if (Game1.random.NextDouble() < 5E-05)
             {
                 startingPosition2 = new Vector2(Game1.viewport.Width, Game1.viewport.Height - 192);
                 for (int i = 0; i < rows; i++)
                 {
                     TemporaryAnimatedSprite bird2 = new TemporaryAnimatedSprite("LooseSprites\\Cursors", sourceRect2, Game1.random.Next(60, 101), 4, 100, startingPosition2 + new Vector2((i + 1) * Game1.random.Next(15, 18), (i + 1) * -20), flicker: false, flipped: false, 0.01f, 0f, Color.Black, 4f, 0f, 0f, 0f, local: true);
                     bird2.motion = new Vector2(-1f, 0f);
                     animations.Add(bird2);
                     bird2        = new TemporaryAnimatedSprite("LooseSprites\\Cursors", sourceRect2, Game1.random.Next(60, 101), 4, 100, startingPosition2 + new Vector2((i + 1) * Game1.random.Next(15, 18), (i + 1) * 20), flicker: false, flipped: false, 0.01f, 0f, Color.Black, 4f, 0f, 0f, 0f, local: true);
                     bird2.motion = new Vector2(-1f, 0f);
                     animations.Add(bird2);
                 }
             }
             else if (Game1.random.NextDouble() < 1E-05)
             {
                 sourceRect2 = new Rectangle(640, 784, 16, 16);
                 TemporaryAnimatedSprite t = new TemporaryAnimatedSprite("LooseSprites\\Cursors", sourceRect2, 75f, 4, 1000, startingPosition2, flicker: false, flipped: false, 0.01f, 0f, Color.White, 4f, 0f, 0f, 0f, local: true);
                 t.motion            = new Vector2(-3f, 0f);
                 t.yPeriodic         = true;
                 t.yPeriodicLoopTime = 1000f;
                 t.yPeriodicRange    = 8f;
                 t.shakeIntensity    = 0.5f;
                 animations.Add(t);
             }
         }
         smokeTimer -= time.ElapsedGameTime.Milliseconds;
         if (smokeTimer <= 0)
         {
             smokeTimer = 50;
             animations.Add(new TemporaryAnimatedSprite("LooseSprites\\Cursors", new Rectangle(684, 1075, 1, 1), 1000f, 1, 1000, new Vector2(188f, Game1.viewport.Height - 128 + 20), flicker: false, flipped: false)
             {
                 color        = (Game1.wasRainingYesterday ? Color.SlateGray : Color.White),
                 scale        = 4f,
                 scaleChange  = 0f,
                 alphaFade    = 0.0025f,
                 motion       = new Vector2(0f, (float)(-Game1.random.Next(25, 75)) / 100f / 4f),
                 acceleration = new Vector2(-0.001f, 0f)
             });
         }
     }
     if (moonShake > 0)
     {
         moonShake -= time.ElapsedGameTime.Milliseconds;
     }
 }