public RankedBattle(int number, DateTime startTime, double elapsedTime, Mode.Key mode, Rule.Key rule, Stage stage, List <RankedPlayer> myPlayers, List <RankedPlayer> otherPlayers, int levelAfter, double estimatedRankPower, Rank.Key rankAfter, double myScore, double otherScore) : base(number, startTime, elapsedTime, Ikas.Class.Mode.Key.ranked_battle, mode, rule, stage, myPlayers.Cast <Player>().ToList(), otherPlayers.Cast <Player>().ToList(), levelAfter, myScore, otherScore) { EstimatedRankPower = estimatedRankPower; RankAfter = rankAfter; }
private void ScheduleChanged() { // Fade out labels and images if (Depot.CurrentMode != Depot.Mode.salmon_run) { lbGrade.IsHitTestVisible = false; bdShiftStageBackground.IsHitTestVisible = false; ((Storyboard)FindResource("fade_out")).Begin(spJob); ((Storyboard)FindResource("fade_out")).Begin(lbMode); } ((Storyboard)FindResource("fade_out")).Begin(lbLevel); ((Storyboard)FindResource("fade_out")).Begin(bdStage1); ((Storyboard)FindResource("fade_out")).Begin(bdStage2); // Set schedule Mode.Key mode = Mode.Key.regular_battle; switch (Depot.CurrentMode) { case Depot.Mode.regular_battle: case Depot.Mode.salmon_run: mode = Mode.Key.regular_battle; break; case Depot.Mode.ranked_battle: mode = Mode.Key.ranked_battle; break; case Depot.Mode.league_battle: mode = Mode.Key.league_battle; break; default: throw new ArgumentOutOfRangeException(); } scheduleWindow.SetSchedule(null, mode); }
public LeagueBattle(int number, DateTime startTime, double elapsedTime, Mode.Key mode, Rule.Key rule, Stage stage, List <RankedPlayer> myPlayers, List <RankedPlayer> otherPlayers, int levelAfter, int myEstimatedLeaguePower, int otherEstimatedLeaguePower, double leaguePoint, double maxLeaguePoint, double myScore, double otherScore) : base(number, startTime, elapsedTime, Ikas.Class.Mode.Key.league_battle, mode, rule, stage, myPlayers.Cast <Player>().ToList(), otherPlayers.Cast <Player>().ToList(), levelAfter, myScore, otherScore) { MyEstimatedLeaguePower = myEstimatedLeaguePower; OtherEstimatedLeaguePower = otherEstimatedLeaguePower; LeaguePoint = leaguePoint; MaxLeaguePoint = maxLeaguePoint; }
public SplatfestBattle(int number, DateTime startTime, double elapsedTime, Mode.Key mode, Key splatfestMode, Rule.Key rule, Stage stage, List <Player> myPlayers, List <Player> otherPlayers, int levelAfter, int myEstimatedSplatfestPower, int otherEstimatedSplatfestPower, double splatfestPower, double maxSplatfestPower, int contributionPoint, int totalContributionPoint, double myScore, double otherScore) : base(number, startTime, elapsedTime, Ikas.Class.Mode.Key.splatfest, mode, rule, stage, myPlayers, otherPlayers, levelAfter, myScore, otherScore) { SplatfestMode = splatfestMode; MyEstimatedSplatfestPower = myEstimatedSplatfestPower; OtherEstimatedSplatfestPower = otherEstimatedSplatfestPower; SplatfestPower = splatfestPower; MaxSplatfestPower = maxSplatfestPower; ContributionPoint = contributionPoint; TotalContributionPoint = totalContributionPoint; }
public List <ScheduledStage> GetNextStages(Mode.Key mode) { List <ScheduledStage> stages = new List <ScheduledStage>(); foreach (ScheduledStage stage in NextStages) { if (stage.Mode == mode) { stages.Add(stage); } } return(stages); }
public Battle(int number, DateTime startTime, double elapsedTime, Mode.Key type, Mode.Key mode, Rule.Key rule, Stage stage, List <Player> myPlayers, List <Player> otherPlayers, int levelAfter, double myScore, double otherScore) { Number = number; StartTime = startTime; ElapsedTime = elapsedTime; Type = type; Mode = mode; Rule = rule; Stage = stage; MyPlayers = myPlayers; OtherPlayers = otherPlayers; LevelAfter = levelAfter; MyScore = myScore; OtherScore = otherScore; }
public ScheduledStage(Mode.Key mode, Rule.Key rule, Key key, string image) : base(key, image) { Mode = mode; Rule = rule; }
public ScheduledStage(Mode.Key mode, Rule.Key rule) : base() { Mode = mode; Rule = rule; }
private void ScheduleUpdated() { if (Depot.CurrentMode != Depot.Mode.salmon_run) { ((Storyboard)FindResource("fade_in")).Begin(spBattle); lbLevel.IsHitTestVisible = true; bdStage1.IsHitTestVisible = true; bdStage2.IsHitTestVisible = true; } Schedule schedule = Depot.Schedule; Mode.Key mode = Mode.Key.regular_battle; switch (Depot.CurrentMode) { case Depot.Mode.regular_battle: case Depot.Mode.salmon_run: mode = Mode.Key.regular_battle; break; case Depot.Mode.ranked_battle: mode = Mode.Key.ranked_battle; break; case Depot.Mode.league_battle: mode = Mode.Key.league_battle; break; default: throw new ArgumentOutOfRangeException(); } List <ScheduledStage> scheduledStages = schedule.GetStages(mode); if (scheduledStages.Count > 0) { // Change UI if (Depot.CurrentMode != Depot.Mode.salmon_run) { switch (mode) { case Mode.Key.regular_battle: lbMode.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF" + Design.NeonGreen)); // tbStar.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF" + Design.NeonGreen)); break; case Mode.Key.ranked_battle: lbMode.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF" + Design.NeonOrange)); // tbStar.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF" + Design.NeonOrange)); break; case Mode.Key.league_battle: lbMode.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF" + Design.NeonRed)); // tbStar.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF" + Design.NeonRed)); break; default: throw new ArgumentOutOfRangeException(); } lbMode.Content = Translate(((Rule.ShortName)scheduledStages[0].Rule).ToString()); // Fade in label ((Storyboard)FindResource("fade_in")).Begin(lbMode); } switch (scheduledStages[0].Rule) { case Rule.Key.turf_war: if (Depot.Level > 0) { if (Depot.Level > 100) { tbLevel.Text = (Depot.Level - Depot.Level / 100 * 100).ToString(); tbStar.Text = Translate("★", true); } else { tbLevel.Text = Depot.Level.ToString(); tbStar.Text = ""; } } else { tbLevel.Text = Translate("--", true); tbStar.Text = ""; } break; case Rule.Key.splat_zones: if (Depot.SplatZonesRank > Rank.Key.s && Depot.SplatZonesRank < Rank.Key.x) { tbLevel.Text = Translate(Depot.SplatZonesRank.ToString()); tbStar.Text = (Depot.SplatZonesRank - Rank.Key.s_plus_0).ToString(); } else { tbLevel.Text = Translate(Depot.SplatZonesRank.ToString()); tbStar.Text = ""; } break; case Rule.Key.tower_control: if (Depot.TowerControlRank > Rank.Key.s && Depot.TowerControlRank < Rank.Key.x) { tbLevel.Text = Translate(Depot.TowerControlRank.ToString()); tbStar.Text = (Depot.TowerControlRank - Rank.Key.s_plus_0).ToString(); } else { tbLevel.Text = Translate(Depot.TowerControlRank.ToString()); tbStar.Text = ""; } break; case Rule.Key.rainmaker: if (Depot.RainmakerRank > Rank.Key.s && Depot.RainmakerRank < Rank.Key.x) { tbLevel.Text = Translate(Depot.RainmakerRank.ToString()); tbStar.Text = (Depot.RainmakerRank - Rank.Key.s_plus_0).ToString(); } else { tbLevel.Text = Translate(Depot.RainmakerRank.ToString()); tbStar.Text = ""; } break; case Rule.Key.clam_blitz: if (Depot.ClamBlitzRank > Rank.Key.s && Depot.ClamBlitzRank < Rank.Key.x) { tbLevel.Text = Translate(Depot.ClamBlitzRank.ToString()); tbStar.Text = (Depot.ClamBlitzRank - Rank.Key.s_plus_0).ToString(); } else { tbLevel.Text = Translate(Depot.ClamBlitzRank.ToString()); tbStar.Text = ""; } break; default: throw new ArgumentOutOfRangeException(); } // Fade in label ((Storyboard)FindResource("fade_in")).Begin(lbLevel); // Update stages Stage stage = scheduledStages[0]; string image = FileFolderUrl.ApplicationData + stage.Image; try { ImageBrush brush = new ImageBrush(new BitmapImage(new Uri(image))); brush.Stretch = Stretch.UniformToFill; bdStage1.Background = brush; ((Storyboard)FindResource("fade_in")).Begin(bdStage1); } catch { // Download the image Downloader downloader = new Downloader(FileFolderUrl.SplatNet + stage.Image, image, Downloader.SourceType.Schedule, Depot.Proxy); DownloadHelper.AddDownloader(downloader, new DownloadCompletedEventHandler(() => { ImageBrush brush = new ImageBrush(new BitmapImage(new Uri(image))); brush.Stretch = Stretch.UniformToFill; bdStage1.Background = brush; ((Storyboard)FindResource("fade_in")).Begin(bdStage1); })); } if (scheduledStages.Count > 1) { Stage stage2 = scheduledStages[1]; string image2 = FileFolderUrl.ApplicationData + stage2.Image; try { ImageBrush brush = new ImageBrush(new BitmapImage(new Uri(image2))); brush.Stretch = Stretch.UniformToFill; bdStage2.Background = brush; ((Storyboard)FindResource("fade_in")).Begin(bdStage2); } catch { Downloader downloader = new Downloader(FileFolderUrl.SplatNet + stage2.Image, image2, Downloader.SourceType.Schedule, Depot.Proxy); DownloadHelper.AddDownloader(downloader, new DownloadCompletedEventHandler(() => { ImageBrush brush = new ImageBrush(new BitmapImage(new Uri(image2))); brush.Stretch = Stretch.UniformToFill; bdStage2.Background = brush; ((Storyboard)FindResource("fade_in")).Begin(bdStage2); })); } } } // Change interval to mitigate server load if (schedule.Error == Base.ErrorType.no_error) { if ((schedule.EndTime - DateTime.UtcNow).TotalMinutes > 5) { tmSchedule.Interval = new TimeSpan(0, 5, 0); } else if ((schedule.EndTime - DateTime.UtcNow).TotalMinutes > 1) { tmSchedule.Interval = new TimeSpan(0, 1, 0); } else { tmSchedule.Interval = new TimeSpan(0, 0, 15); } } else { tmSchedule.Interval = new TimeSpan(0, 0, 15); } // Set schedule scheduleWindow.SetSchedule(Depot.Schedule, mode); }
public RankedXBattle(int number, DateTime startTime, double elapsedTime, Mode.Key mode, Rule.Key rule, Stage stage, List <RankedPlayer> myPlayers, List <RankedPlayer> otherPlayers, int levelAfter, double estimatedXPower, double xPowerAfter, double myScore, double otherScore) : base(number, startTime, elapsedTime, mode, rule, stage, myPlayers.Cast <RankedPlayer>().ToList(), otherPlayers.Cast <RankedPlayer>().ToList(), levelAfter, estimatedXPower, Rank.Key.x, myScore, otherScore) { XPowerAfter = xPowerAfter; }
public RegularBattle(int number, DateTime startTime, double elapsedTime, Mode.Key mode, Rule.Key rule, Stage stage, List <Player> myPlayers, List <Player> otherPlayers, int levelAfter, double winMeter, double myScore, double otherScore) : base(number, startTime, elapsedTime, Class.Mode.Key.regular_battle, mode, rule, stage, myPlayers, otherPlayers, levelAfter, myScore, otherScore) { WinMeter = winMeter; }
public void SetSchedule(Schedule schedule, Mode.Key mode) { Schedule = schedule; Mode = mode; // Fade in loading bdLoading.IsHitTestVisible = true; ((Storyboard)FindResource("fade_in")).Begin(bdLoading); // Fade out labels and images ((Storyboard)FindResource("fade_out")).Begin(imgMode); ((Storyboard)FindResource("fade_out")).Begin(lbMode); ((Storyboard)FindResource("fade_out")).Begin(lbRule); ((Storyboard)FindResource("fade_out")).Begin(lbTime); ((Storyboard)FindResource("fade_out")).Begin(stg1); ((Storyboard)FindResource("fade_out")).Begin(stg2); ((Storyboard)FindResource("fade_out")).Begin(tagNext); ((Storyboard)FindResource("fade_out")).Begin(lbNextRule); ((Storyboard)FindResource("fade_out")).Begin(lbNextTime); ((Storyboard)FindResource("fade_out")).Begin(stgNext1); ((Storyboard)FindResource("fade_out")).Begin(stgNext2); if (Schedule != null) { // Update current Schedule List <ScheduledStage> scheduledStages = Schedule.GetStages(Mode); if (scheduledStages.Count > 0) { // Change UI switch (Mode) { case Class.Mode.Key.regular_battle: imgMode.Source = (BitmapImage)FindResource("image_battle_regular"); tagNext.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF" + Design.NeonGreen)); break; case Class.Mode.Key.ranked_battle: imgMode.Source = (BitmapImage)FindResource("image_battle_ranked"); tagNext.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF" + Design.NeonOrange)); break; case Class.Mode.Key.league_battle: imgMode.Source = (BitmapImage)FindResource("image_battle_league"); tagNext.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF" + Design.NeonRed)); break; default: throw new ArgumentOutOfRangeException(); } lbMode.SetResourceReference(ContentProperty, scheduledStages[0].Mode.ToString()); lbRule.SetResourceReference(ContentProperty, scheduledStages[0].Rule.ToString()); DateTime startTime = Schedule.EndTime.AddHours(-2).ToLocalTime(); DateTime endTime = Schedule.EndTime.ToLocalTime(); lbTime.Content = string.Format(Translate("{0}_-_{1}", true), startTime.ToString("HH:mm"), endTime.ToString("HH:mm")); // Fade in labels ((Storyboard)FindResource("fade_in")).Begin(imgMode); ((Storyboard)FindResource("fade_in")).Begin(lbMode); ((Storyboard)FindResource("fade_in")).Begin(lbRule); ((Storyboard)FindResource("fade_in")).Begin(lbTime); ((Storyboard)FindResource("fade_in")).Begin(tagNext); // Update stages Stage stage = scheduledStages[0]; string image = FileFolderUrl.ApplicationData + stage.Image; try { ImageBrush brush = new ImageBrush(new BitmapImage(new Uri(image))); brush.Stretch = Stretch.UniformToFill; stg1.Background = brush; stg1.SetResourceReference(StageControl.ContentProperty, stage.Id.ToString()); ((Storyboard)FindResource("fade_in")).Begin(stg1); } catch { // Download the image Downloader downloader = new Downloader(FileFolderUrl.SplatNet + stage.Image, image, Downloader.SourceType.Schedule, Depot.Proxy); DownloadHelper.AddDownloader(downloader, new DownloadCompletedEventHandler(() => { ImageBrush brush = new ImageBrush(new BitmapImage(new Uri(image))); brush.Stretch = Stretch.UniformToFill; stg1.Background = brush; stg1.SetResourceReference(StageControl.ContentProperty, stage.Id.ToString()); ((Storyboard)FindResource("fade_in")).Begin(stg1); })); } if (scheduledStages.Count > 1) { Stage stage2 = scheduledStages[1]; string image2 = FileFolderUrl.ApplicationData + stage2.Image; try { ImageBrush brush = new ImageBrush(new BitmapImage(new Uri(image2))); brush.Stretch = Stretch.UniformToFill; stg2.Background = brush; stg2.SetResourceReference(StageControl.ContentProperty, stage2.Id.ToString()); ((Storyboard)FindResource("fade_in")).Begin(stg2); } catch { Downloader downloader = new Downloader(FileFolderUrl.SplatNet + stage2.Image, image2, Downloader.SourceType.Schedule, Depot.Proxy); DownloadHelper.AddDownloader(downloader, new DownloadCompletedEventHandler(() => { ImageBrush brush = new ImageBrush(new BitmapImage(new Uri(image2))); brush.Stretch = Stretch.UniformToFill; stg2.Background = brush; stg2.SetResourceReference(StageControl.ContentProperty, stage2.Id.ToString()); ((Storyboard)FindResource("fade_in")).Begin(stg2); })); } } } // Update next schedule List <ScheduledStage> nextScheduledStages = Schedule.GetNextStages(Mode); if (nextScheduledStages.Count > 0) { // Change UI lbNextRule.SetResourceReference(ContentProperty, nextScheduledStages[0].Rule.ToString()); TimeSpan dTime = Schedule.EndTime - DateTime.UtcNow; if (dTime.Hours > 0) { lbNextTime.Content = string.Format(Translate("in_{0}_hour_{1}_min", true), dTime.Hours, dTime.Minutes); } else { lbNextTime.Content = string.Format(Translate("in_{0}_min", true), dTime.Minutes); } // Fade in labels ((Storyboard)FindResource("fade_in")).Begin(lbNextRule); ((Storyboard)FindResource("fade_in")).Begin(lbNextTime); // Update Stages Stage stage = nextScheduledStages[0]; string image = FileFolderUrl.ApplicationData + stage.Image; try { ImageBrush brush = new ImageBrush(new BitmapImage(new Uri(image))); brush.Stretch = Stretch.UniformToFill; stgNext1.Background = brush; stgNext1.SetResourceReference(StageControl.ContentProperty, stage.Id.ToString()); ((Storyboard)FindResource("fade_in")).Begin(stgNext1); } catch { // Download the image Downloader downloader = new Downloader(FileFolderUrl.SplatNet + stage.Image, image, Downloader.SourceType.Schedule, Depot.Proxy); DownloadHelper.AddDownloader(downloader, new DownloadCompletedEventHandler(() => { ImageBrush brush = new ImageBrush(new BitmapImage(new Uri(image))); brush.Stretch = Stretch.UniformToFill; stgNext1.Background = brush; stgNext1.SetResourceReference(StageControl.ContentProperty, stage.Id.ToString()); ((Storyboard)FindResource("fade_in")).Begin(stgNext1); })); } if (nextScheduledStages.Count > 1) { Stage stage2 = nextScheduledStages[1]; string image2 = FileFolderUrl.ApplicationData + stage2.Image; try { ImageBrush brush = new ImageBrush(new BitmapImage(new Uri(image2))); brush.Stretch = Stretch.UniformToFill; stgNext2.Background = brush; stgNext2.SetResourceReference(StageControl.ContentProperty, stage2.Id.ToString()); ((Storyboard)FindResource("fade_in")).Begin(stgNext2); } catch { Downloader downloader = new Downloader(FileFolderUrl.SplatNet + stage2.Image, image2, Downloader.SourceType.Schedule, Depot.Proxy); DownloadHelper.AddDownloader(downloader, new DownloadCompletedEventHandler(() => { ImageBrush brush = new ImageBrush(new BitmapImage(new Uri(image2))); brush.Stretch = Stretch.UniformToFill; stgNext2.Background = brush; stgNext2.SetResourceReference(StageControl.ContentProperty, stage2.Id.ToString()); ((Storyboard)FindResource("fade_in")).Begin(stgNext2); })); } } } // Fade out loading ((Storyboard)FindResource("fade_out")).Begin(bdLoading); bdLoading.IsHitTestVisible = false; } }