1 // Copyright (C) 2019 Kazuhiro Fujieda <fujieda@users.osdn.me>
\r
3 // Licensed under the Apache License, Version 2.0 (the "License");
\r
4 // you may not use this file except in compliance with the License.
\r
5 // You may obtain a copy of the License at
\r
7 // http://www.apache.org/licenses/LICENSE-2.0
\r
9 // Unless required by applicable law or agreed to in writing, software
\r
10 // distributed under the License is distributed on an "AS IS" BASIS,
\r
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
12 // See the License for the specific language governing permissions and
\r
13 // limitations under the License.
\r
16 using System.Windows.Forms;
\r
17 using KancolleSniffer.Model;
\r
19 namespace KancolleSniffer.View
\r
21 public class ShipLabels : ControlsArranger
\r
23 public ShipLabel.Fleet Fleet { get; set; }
\r
24 public ShipLabel.Name Name { get; set; }
\r
25 public ShipLabel.Hp Hp { get; set; }
\r
26 public ShipLabel.Cond Cond { get; set; }
\r
27 public ShipLabel.Level Level { get; set; }
\r
28 public ShipLabel.Exp Exp { get; set; }
\r
29 public Label BackGround { get; set; }
\r
31 // Nameが長すぎる場合は他のラベルの下に隠れてほしいのでのZ-orderを下にする。
\r
32 // サブクラスで追加するラベルはBackGroundで隠れないようにZ-orderを上にする。
\r
33 public sealed override Control[] Controls =>
\r
34 AddedControls.Concat(new Control[] {Fleet, Hp, Cond, Level, Exp, Name, BackGround}.Where(c => c != null))
\r
37 public virtual Control[] AddedControls => new Control[0];
\r
39 public virtual void Set(ShipStatus status)
\r
41 foreach (var label in new ShipLabel[] {Fleet, Name, Hp, Cond, Level, Exp})
\r
45 public virtual void Reset()
\r
47 foreach (var label in new ShipLabel[] {Fleet, Name, Hp, Cond, Level, Exp})
\r