Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
CheckboxWidget.cs
浏览该文件的文档.
1using System.Xml.Linq;
2using Engine;
3using Engine.Media;
4
5namespace Game {
6 public class CheckboxWidget : CanvasWidget {
8
10
12
14
16
17 public bool IsPressed => m_clickableWidget.IsPressed;
18
19 public bool IsClicked => m_clickableWidget.IsClicked;
20
21 public bool IsTapped => m_clickableWidget.IsTapped;
22
23 public bool IsChecked { get; set; }
24
25 public bool IsAutoCheckingEnabled { get; set; }
26
27 public string Text {
28 get => m_labelWidget.Text;
29 set => m_labelWidget.Text = value;
30 }
31
33 get => m_labelWidget.Font;
34 set => m_labelWidget.Font = value;
35 }
36
38 get => m_tickWidget.Subtexture;
39 set => m_tickWidget.Subtexture = value;
40 }
41
42 public Color Color { get; set; }
43
45 get => m_canvasWidget.Size;
46 set => m_canvasWidget.Size = value;
47 }
48
49 public CheckboxWidget() {
50 XElement node = ContentManager.Get<XElement>("Widgets/CheckboxContents");
51 LoadChildren(this, node);
52 m_canvasWidget = Children.Find<CanvasWidget>("Checkbox.Canvas");
53 m_rectangleWidget = Children.Find<RectangleWidget>("Checkbox.Rectangle");
54 m_tickWidget = Children.Find<RectangleWidget>("Checkbox.Tick");
55 m_labelWidget = Children.Find<LabelWidget>("Checkbox.Label");
56 m_clickableWidget = Children.Find<ClickableWidget>("Checkbox.Clickable");
57 LoadProperties(this, node);
58 }
59
60 public override void Update() {
63 }
64 }
65
66 public override void MeasureOverride(Vector2 parentAvailableSize) {
67 bool isEnabledGlobal = IsEnabledGlobal;
68 m_labelWidget.Color = isEnabledGlobal ? Color : new Color(112, 112, 112);
69 m_rectangleWidget.FillColor = new Color(0, 0, 0, 128);
70 m_rectangleWidget.OutlineColor = isEnabledGlobal ? new Color(128, 128, 128) : new Color(112, 112, 112);
71 m_tickWidget.IsVisible = IsChecked;
72 m_tickWidget.FillColor = isEnabledGlobal ? Color : new Color(112, 112, 112);
73 m_tickWidget.OutlineColor = Color.Transparent;
74 m_tickWidget.Subtexture = TickSubtexture;
75 base.MeasureOverride(parentAvailableSize);
76 }
77 }
78}
override void MeasureOverride(Vector2 parentAvailableSize)
ClickableWidget m_clickableWidget
RectangleWidget m_tickWidget
RectangleWidget m_rectangleWidget
readonly WidgetsList Children
static object Get(Type type, string name)
bool IsEnabledGlobal
virtual void LoadProperties(object eventsTarget, XElement node)
virtual void LoadChildren(object eventsTarget, XElement node)