Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
EditAdjustableDelayGateDialog.cs
浏览该文件的文档.
1using System.Xml.Linq;
2using Engine;
3
4namespace Game {
12
13 public Action<int> m_handler;
14 public int m_delay;
15
16 public EditAdjustableDelayGateDialog(int delay, Action<int> handler) {
17 XElement node = ContentManager.Get<XElement>("Dialogs/EditAdjustableDelayGateDialog");
18 LoadContents(this, node);
19 m_delaySlider = Children.Find<SliderWidget>("EditAdjustableDelayGateDialog.DelaySlider");
20 m_plusButton = Children.Find<ButtonWidget>("EditAdjustableDelayGateDialog.PlusButton");
21 m_minusButton = Children.Find<ButtonWidget>("EditAdjustableDelayGateDialog.MinusButton");
22 m_delayLabel = Children.Find<LabelWidget>("EditAdjustableDelayGateDialog.Label");
23 m_okButton = Children.Find<ButtonWidget>("EditAdjustableDelayGateDialog.OK");
24 m_cancelButton = Children.Find<ButtonWidget>("EditAdjustableDelayGateDialog.Cancel");
25 m_handler = handler;
26 m_delay = delay;
28 }
29
30 public override void Update() {
31 if (m_delaySlider.IsSliding) {
32 m_delay = (int)m_delaySlider.Value;
33 }
34 if (m_minusButton.IsClicked) {
35 m_delay = MathUtils.Max(m_delay - 1, (int)m_delaySlider.MinValue);
36 }
37 if (m_plusButton.IsClicked) {
38 m_delay = MathUtils.Min(m_delay + 1, (int)m_delaySlider.MaxValue);
39 }
40 if (m_okButton.IsClicked) {
42 }
43 if (Input.Cancel
44 || m_cancelButton.IsClicked) {
45 Dismiss(null);
46 }
48 }
49
50 public virtual void UpdateControls() {
51 m_delaySlider.Value = m_delay;
52 m_minusButton.IsEnabled = m_delay > m_delaySlider.MinValue;
53 m_plusButton.IsEnabled = m_delay < m_delaySlider.MaxValue;
54 m_delayLabel.Text = string.Format(LanguageControl.Get("EditAdjustableDelayGateDialog", 1), Math.Round((m_delay + 1) * 0.01f, 2));
55 }
56
57 public void Dismiss(int? result) {
59 if (m_handler != null
60 && result.HasValue) {
61 m_handler(result.Value);
62 }
63 }
64 }
65}
static int Min(int x1, int x2)
static int Max(int x1, int x2)
readonly WidgetsList Children
static object Get(Type type, string name)
static void HideDialog(Dialog dialog)
EditAdjustableDelayGateDialog(int delay, Action< int > handler)
static string Get(string className, int key)
获取在当前语言类名键对应的字符串
virtual void LoadContents(object eventsTarget, XElement node)