public void CameraShutterAnimation() { GameFiber.StartNew(delegate { var orig = UIMenu.GetScreenResolutionMantainRatio(); var res = new Size((int)orig.Width, (int)orig.Height); var upperRect = new ResRectangle(new Point(0,0), new Size(res.Width, 0), Color.Black); var lowerRect = new ResRectangle(new Point(0, res.Height), new Size(res.Width, 0), Color.Black); var middle = res.Height/2; var startTime = Game.GameTime; const uint duration = 200; while (Game.GameTime < startTime + duration) { var lerp = (int)Util.LinearLerp(Game.GameTime - startTime, 0, middle, duration); upperRect.Size = new Size(res.Width, lerp); lowerRect.Position = new Point(0, res.Height - lerp); lowerRect.Size = new Size(res.Width, lerp); upperRect.Draw(); lowerRect.Draw(); GameFiber.Yield(); } startTime = Game.GameTime; while (Game.GameTime < startTime + duration) { var lerp = (int)Util.LinearLerp(Game.GameTime - startTime, middle, 0, duration); upperRect.Size = new Size(res.Width, lerp); lowerRect.Position = new Point(0, res.Height - lerp); lowerRect.Size = new Size(res.Width, lerp); upperRect.Draw(); lowerRect.Draw(); GameFiber.Yield(); } }); }
public override void Draw(int interval) { SizeF res = UIMenu.GetScreenResolutionMantainRatio(); Point safe = UIMenu.GetSafezoneBounds(); base.Draw(interval); var start = new Point((int)res.Width - safe.X - 160, (int)res.Height - safe.Y - (28 + (4 * interval))); ResRectangle.Draw(start, new Size(150, 15), BackgroundColor); ResRectangle.Draw(start, new Size((int)(150 * Percentage), 15), ForegroundColor); }
/// <summary> /// Draw this item. /// </summary> public virtual void Draw() { _rectangle.Size = new Size(431 + Parent.WidthOffset, 38); _selectedSprite.Size = new Size(431 + Parent.WidthOffset, 38); if (Hovered && !Selected) { _rectangle.Color = Color.FromArgb(20, 255, 255, 255); _rectangle.Draw(); } _selectedSprite.Color = Selected ? HighlightedBackColor : BackColor; _selectedSprite.Draw(); _text.Color = Enabled ? Selected ? HighlightedForeColor : ForeColor : Color.FromArgb(163, 159, 148); if (LeftBadge != BadgeStyle.None) { _text.Position = new Point(35 + Offset.X, _text.Position.Y); _badgeLeft.TextureDictionary = BadgeToSpriteLib(LeftBadge); _badgeLeft.TextureName = BadgeToSpriteName(LeftBadge, Selected); _badgeLeft.Color = IsBagdeWhiteSprite(LeftBadge) ? Enabled ? Selected ? HighlightedForeColor : ForeColor : Color.FromArgb(163, 159, 148) : Color.White; _badgeLeft.Draw(); } else { _text.Position = new Point(8 + Offset.X, _text.Position.Y); } if (RightBadge != BadgeStyle.None) { _badgeRight.Position = new Point(385 + Offset.X + Parent.WidthOffset, _badgeRight.Position.Y); _badgeRight.TextureDictionary = BadgeToSpriteLib(RightBadge); _badgeRight.TextureName = BadgeToSpriteName(RightBadge, Selected); _badgeRight.Color = IsBagdeWhiteSprite(RightBadge) ? Enabled ? Selected ? HighlightedForeColor : ForeColor : Color.FromArgb(163, 159, 148) : Color.White; _badgeRight.Draw(); } if (!String.IsNullOrWhiteSpace(RightLabel)) { _labelText.Position = new Point(420 + Offset.X + Parent.WidthOffset, _labelText.Position.Y); _labelText.Caption = RightLabel; _labelText.Color = _text.Color = Enabled ? Selected ? HighlightedForeColor : ForeColor : Color.FromArgb(163, 159, 148); _labelText.Draw(); } _text.Draw(); }
protected virtual void Draw() { SizeF res = UIMenu.GetScreenResolutionMantainRatio(); int middle = (int)(res.Width / 2); Sprite.Draw("mpentry", "mp_modenotselected_gradient", new Point(0, 10), new Size((int)res.Width, 450 + (Items.Count * 40)), 0.0f, Color.FromArgb(200, 255, 255, 255)); ResText.Draw(Title, new Point(middle, 100), 2.5f, Color.FromArgb(255, 199, 168, 87), Common.EFont.Pricedown, true); ResText.Draw(Subtitle, new Point(middle, 230), 0.5f, Color.White, Common.EFont.ChaletLondon, true); ResRectangle.Draw(new Point(middle - 300, 290), new Size(600, 2), Color.White); for (int i = 0; i < Items.Count; i++) { MissionPassedScreenItem item = Items[i]; ResText.Draw(item.Label, new Point(middle - 230, 300 + (40 * i)), 0.35f, Color.White, Common.EFont.ChaletLondon, false); ResText.Draw(item.Status, new Point(item.Tickbox == MissionPassedScreenItem.TickboxState.None ? middle + 265 : middle + 230, 300 + (40 * i)), 0.35f, Color.White, Common.EFont.ChaletLondon, ResText.Alignment.Right, false, false, Size.Empty); if (item.Tickbox == MissionPassedScreenItem.TickboxState.None) { continue; } string spriteName; if (item.Tickbox == MissionPassedScreenItem.TickboxState.Tick) { spriteName = "shop_box_tick"; } else if (item.Tickbox == MissionPassedScreenItem.TickboxState.Cross) { spriteName = "shop_box_cross"; } else { spriteName = "shop_box_blank"; } Sprite.Draw("commonmenu", spriteName, new Point(middle + 230, 290 + (40 * i)), new Size(48, 48), 0.0f, Color.White); } ResRectangle.Draw(new Point(middle - 300, 300 + (40 * Items.Count)), new Size(600, 2), Color.White); ResText.Draw("Completion", new Point(middle - 150, 320 + (40 * Items.Count)), 0.4f, Color.White, Common.EFont.ChaletLondon, false); ResText.Draw(CompletionPercentage + "%", new Point(middle + 150, 320 + (40 * Items.Count)), 0.4f, Color.White, Common.EFont.ChaletLondon, ResText.Alignment.Right, false, false, Size.Empty); string medalSprite; if (Medal == MedalType.Silver) { medalSprite = "silvermedal"; } else if (Medal == MedalType.Gold) { medalSprite = "goldmedal"; } else { medalSprite = "bronzemedal"; } Sprite.Draw("mpmissionend", medalSprite, new Point(middle + 150, 320 + (40 * Items.Count)), new Size(32, 32), 0.0f, Color.White); InstructionalButtons.Draw(); }