Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
BitmapButtonWidget.cs
浏览该文件的文档.
1using System.Xml.Linq;
2using Engine;
3using Engine.Media;
4
5namespace Game {
8
10
12
14
15 public override bool IsClicked => m_clickableWidget.IsClicked;
16
17 public override bool IsChecked {
18 get => m_clickableWidget.IsChecked;
19 set => m_clickableWidget.IsChecked = value;
20 }
21
22 public override bool IsAutoCheckingEnabled {
23 get => m_clickableWidget.IsAutoCheckingEnabled;
24 set => m_clickableWidget.IsAutoCheckingEnabled = value;
25 }
26
27 public override string Text {
28 get => m_labelWidget.Text;
29 set => m_labelWidget.Text = value;
30 }
31
32 public override BitmapFont Font {
33 get => m_labelWidget.Font;
34 set => m_labelWidget.Font = value;
35 }
36
37 public Subtexture NormalSubtexture { get; set; }
38
39 public Subtexture ClickedSubtexture { get; set; }
40
41 public override Color Color { get; set; }
42
43 public float FontScale {
44 get => m_labelWidget.FontScale;
45 set => m_labelWidget.FontScale = value;
46 }
47
49 Color = Color.White;
50 XElement node = ContentManager.Get<XElement>("Widgets/BitmapButtonContents");
51 LoadChildren(this, node);
52 m_rectangleWidget = Children.Find<RectangleWidget>("Button.Rectangle");
53 m_imageWidget = Children.Find<RectangleWidget>("Button.Image");
54 m_labelWidget = Children.Find<LabelWidget>("Button.Label");
55 m_clickableWidget = Children.Find<ClickableWidget>("Button.Clickable");
56 LoadProperties(this, node);
57 }
58
59 public override void MeasureOverride(Vector2 parentAvailableSize) {
60 bool isEnabledGlobal = IsEnabledGlobal;
61 m_labelWidget.Color = isEnabledGlobal ? Color : new Color(112, 112, 112);
62 m_imageWidget.FillColor = isEnabledGlobal ? Color : new Color(112, 112, 112);
63 m_rectangleWidget.Subtexture = m_clickableWidget.IsPressed || IsChecked ? ClickedSubtexture : NormalSubtexture;
64 base.MeasureOverride(parentAvailableSize);
65 }
66 }
67}
override void MeasureOverride(Vector2 parentAvailableSize)
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)