private void ChangeColor(LimitedValue value) { this.Maximum = value.Maximum; this.Minimum = value.Minimum; this.Value = value.Current; var percentage = value.Current / (double)value.Maximum; var color = percentage > 0.5 ? Color.FromRgb((byte)(180 - 140 * ((percentage - 0.5) * 2)), 180, 0) : Color.FromRgb(180, (byte)(40 + 140 * (percentage * 2)), 0); this.Foreground = new SolidColorBrush(color); }
private void ChangeColor(LimitedValue value) { this.Maximum = value.Maximum; this.Minimum = value.Minimum; this.Value = value.Current; Color color; var percentage = value.Maximum == 0 ? 0.0 : value.Current / (double)value.Maximum; // 0.25 以下のとき、「大破」 if (percentage <= 0.25) color = Color.FromRgb(255, 32, 32); // 0.5 以下のとき、「中破」 else if (percentage <= 0.5) color = Color.FromRgb(240, 128, 32); // 0.75 以下のとき、「小破」 else if (percentage <= 0.75) color = Color.FromRgb(240, 240, 0); // 0.75 より大きいとき、「小破未満」 else color = Color.FromRgb(64, 200, 32); this.Foreground = new SolidColorBrush(color); }
private static string ShowStat(LimitedValue stat, bool showCurrent = false) { return($"{stat.Minimum} ({(stat.Maximum == stat.Minimum ? "MAX" : "+" + (stat.Maximum - stat.Minimum))}){(showCurrent && stat.Current > stat.Minimum ? $", {stat.Current} with equipment" : "")}"); }