上限のある値を表します。
        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);
        }
Exemple #3
0
 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" : "")}");
 }