Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
BevelledButtonWidget.cs
浏览该文件的文档.
1using System.Xml.Linq;
2using Engine;
3using Engine.Media;
4
5namespace Game {
8
10
12
14
15 public float FontScale {
16 get => m_labelWidget.FontScale;
17 set => m_labelWidget.FontScale = value;
18 }
19
20 public override bool IsClicked => m_clickableWidget.IsClicked;
21
22 public override bool IsChecked {
23 get => m_clickableWidget.IsChecked;
24 set => m_clickableWidget.IsChecked = value;
25 }
26
27 public override bool IsAutoCheckingEnabled {
28 get => m_clickableWidget.IsAutoCheckingEnabled;
29 set => m_clickableWidget.IsAutoCheckingEnabled = value;
30 }
31
32 public override string Text {
33 get => m_labelWidget.Text;
34 set => m_labelWidget.Text = value;
35 }
36
37 public override BitmapFont Font {
38 get => m_labelWidget.Font;
39 set => m_labelWidget.Font = value;
40 }
41
43 get => m_imageWidget.Subtexture;
44 set => m_imageWidget.Subtexture = value;
45 }
46
47 public override Color Color { get; set; }
48
50 get => m_rectangleWidget.BevelColor;
51 set => m_rectangleWidget.BevelColor = value;
52 }
53
55 get => m_rectangleWidget.CenterColor;
56 set => m_rectangleWidget.CenterColor = value;
57 }
58
59 public float AmbientLight {
60 get => m_rectangleWidget.AmbientLight;
61 set => m_rectangleWidget.AmbientLight = value;
62 }
63
64 public float DirectionalLight {
65 get => m_rectangleWidget.DirectionalLight;
66 set => m_rectangleWidget.DirectionalLight = value;
67 }
68
69 public float BevelSize { get; set; }
70
72 Color = Color.White;
73 BevelSize = 2f;
74 XElement node = ContentManager.Get<XElement>("Widgets/BevelledButtonContents");
75 LoadChildren(this, node);
76 m_rectangleWidget = Children.Find<BevelledRectangleWidget>("BevelledButton.Rectangle");
77 m_imageWidget = Children.Find<RectangleWidget>("BevelledButton.Image");
78 m_labelWidget = Children.Find<LabelWidget>("BevelledButton.Label");
79 m_clickableWidget = Children.Find<ClickableWidget>("BevelledButton.Clickable");
80 m_labelWidget.VerticalAlignment = WidgetAlignment.Center;
81 LoadProperties(this, node);
82 }
83
84 public override void MeasureOverride(Vector2 parentAvailableSize) {
85 bool isEnabledGlobal = IsEnabledGlobal;
86 m_labelWidget.Color = isEnabledGlobal ? Color : new Color(112, 112, 112);
87 m_imageWidget.FillColor = isEnabledGlobal ? Color : new Color(112, 112, 112);
88 m_rectangleWidget.BevelSize = m_clickableWidget.IsPressed || IsChecked ? -0.5f * BevelSize : BevelSize;
89 base.MeasureOverride(parentAvailableSize);
90 }
91 }
92}
override void MeasureOverride(Vector2 parentAvailableSize)
BevelledRectangleWidget 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)