Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
SettingsUiScreen.cs
浏览该文件的文档.
1using System.Globalization;
2using System.Xml.Linq;
3using Engine;
5
6namespace Game {
7 public class SettingsUiScreen : Screen {
9
11
13
15
17
19
22
24
26
28
30
36
38
40
42
43 public static string fName = "SettingsUiScreen";
44
46 XElement node = ContentManager.Get<XElement>("Screens/SettingsUiScreen");
47 LoadContents(this, node);
48 m_windowModeContainer = Children.Find<ContainerWidget>("WindowModeContainer");
49 m_languageButton = Children.Find<ButtonWidget>("LanguageButton");
50 m_displayLogButton = Children.Find<ButtonWidget>("DisplayLogButton");
51 m_windowModeButton = Children.Find<ButtonWidget>("WindowModeButton");
52 m_uiScaleSlider = Children.Find<SliderWidget>("UIScaleSlider");
53 m_upsideDownButton = Children.Find<ButtonWidget>("UpsideDownButton");
54 m_adaptEdgeToEdgeDisplayContainer = Children.Find<UniformSpacingPanelWidget>("AdaptEdgeToEdgeDisplayContainer");
55 m_adaptEdgeToEdgeDisplay = Children.Find<ButtonWidget>("AdaptEdgeToEdgeDisplay");
56 m_hideMoveLookPadsButton = Children.Find<ButtonWidget>("HideMoveLookPads");
57 m_hideCrosshairButton = Children.Find<ButtonWidget>("HideCrosshair");
58 m_showGuiInScreenshotsButton = Children.Find<ButtonWidget>("ShowGuiInScreenshotsButton");
59 m_showLogoInScreenshotsButton = Children.Find<ButtonWidget>("ShowLogoInScreenshotsButton");
60 m_screenshotSizeButton = Children.Find<ButtonWidget>("ScreenshotSizeButton");
61 m_screenshotSizeCustomWidthSliderContainer = Children.Find<ContainerWidget>("ScreenshotSizeCustomWidthSliderContainer");
62 m_screenshotSizeCustomWidthSlider = Children.Find<SliderWidget>("ScreenshotSizeCustomWidthSlider");
63 m_screenshotSizeCustomAspectRatioSliderContainer = Children.Find<ContainerWidget>("ScreenshotSizeCustomAspectRatioSliderContainer");
64 m_screenshotSizeCustomAspectRatioSlider = Children.Find<SliderWidget>("ScreenshotSizeCustomAspectRatioSlider");
65 m_communityContentModeButton = Children.Find<ButtonWidget>("CommunityContentModeButton");
66 m_originalCommunityContentModeButton = Children.Find<ButtonWidget>("OriginalCommunityContentModeButton");
67 m_deleteWorldNeedToTextButton = Children.Find<ButtonWidget>("DeleteWorldNeedToTextButton");
68 int maxWidth = Math.Min(Display.MaxTextureSize, 16320);
69 m_screenshotSizeCustomWidthSlider.MaxValue = SettingsManager.ScreenshotSizeCustomWidths[SettingsManager.ScreenshotSizeCustomWidths.Length-1];
70 m_screenshotSizeCustomAspectRatioSlider.MaxValue = SettingsManager.ScreenshotSizeCustomAspectRatios.Length - 1;
71 m_screenshotSizeCustomWidthSlider.Value = SettingsManager.ScreenshotSizeCustomWidthIndex;
72 m_screenshotSizeCustomAspectRatioSlider.Value = SettingsManager.ScreenshotSizeCustomAspectRatioIndex;
74 m_screenshotSizeCustomWidthSliderContainer.IsVisible = false;
75 m_screenshotSizeCustomAspectRatioSliderContainer.IsVisible = false;
76 }
77 }
78
79 public override void Enter(object[] parameters) {
80 m_windowModeContainer.IsVisible = VersionsManager.CurrentPlatform != VersionsManager.Platform.Android;
81 m_adaptEdgeToEdgeDisplayContainer.IsVisible = VersionsManager.CurrentPlatform == VersionsManager.Platform.Android;
82 }
83
84 public override void Update() {
85 if (m_windowModeButton.IsClicked) {
86#if BROWSER
88#else
90#endif
91 }
92 if (m_uiScaleSlider.SlidingCompleted) {
94 }
95 if (m_languageButton.IsClicked) {
97 }
98 if (m_displayLogButton.IsClicked) {
100 }
101 if (!m_uiScaleSlider.IsSliding) {
102 m_uiScaleSlider.Value = SettingsManager.UIScale;
103 }
104 m_uiScaleSlider.Text = $"{m_uiScaleSlider.Value * 100f:0}%";
105 if (m_upsideDownButton.IsClicked) {
107 }
108 if (m_adaptEdgeToEdgeDisplay.IsClicked) {
112 }
113 else {
115 }
116 }
117 if (m_hideMoveLookPadsButton.IsClicked) {
119 }
120 if (m_hideCrosshairButton.IsClicked) {
122 }
123 if (m_showGuiInScreenshotsButton.IsClicked) {
125 }
126 if (m_showLogoInScreenshotsButton.IsClicked) {
128 }
129 if (m_screenshotSizeButton.IsClicked) {
133 m_screenshotSizeCustomWidthSliderContainer.IsVisible = true;
134 m_screenshotSizeCustomAspectRatioSliderContainer.IsVisible = true;
135 }
136 else {
137 m_screenshotSizeCustomWidthSliderContainer.IsVisible = false;
138 m_screenshotSizeCustomAspectRatioSliderContainer.IsVisible = false;
139 }
140 }
141 if (m_screenshotSizeCustomWidthSlider.IsSliding) {
143 }
146 }
147 if (m_deleteWorldNeedToTextButton.IsClicked) {
149 }
150 if (m_communityContentModeButton.IsClicked) {
153 }
157 }
158#if BROWSER
159 m_windowModeButton.Text = LanguageControl.Get("WindowMode", Window.WindowMode.ToString());
160#else
161 m_windowModeButton.Text = LanguageControl.Get("WindowMode", SettingsManager.WindowMode.ToString());
162#endif
163 m_languageButton.Text = LanguageControl.Get("Language", "Name");
169 m_showGuiInScreenshotsButton.Text = SettingsManager.ShowGuiInScreenshots ? LanguageControl.Yes : LanguageControl.No;
170 m_showLogoInScreenshotsButton.Text = SettingsManager.ShowLogoInScreenshots ? LanguageControl.Yes : LanguageControl.No;
171 m_screenshotSizeButton.Text = LanguageControl.Get("ScreenshotSize", SettingsManager.ScreenshotSize.ToString());
172 m_screenshotSizeCustomWidthSlider.Text = SettingsManager.ScreenshotSizeCustomWidths[SettingsManager.ScreenshotSizeCustomWidthIndex].ToString();
174 m_deleteWorldNeedToTextButton.Text = SettingsManager.DeleteWorldNeedToText ? LanguageControl.Yes : LanguageControl.No;
175 m_communityContentModeButton.Text = LanguageControl.Get("CommunityContentMode", SettingsManager.CommunityContentMode.ToString());
176 m_originalCommunityContentModeButton.Text = LanguageControl.Get(
177 "CommunityContentMode",
179 );
180 if (Input.Back
181 || Input.Cancel
182 || Children.Find<ButtonWidget>("TopBar.Back").IsClicked) {
184 }
185 }
186 }
187}
static WindowMode WindowMode
readonly WidgetsList Children
static object Get(Type type, string name)
static IList< int > GetEnumValues(Type type)
static void CreateLanguageSelectionDialog(Widget parent)
static string Get(string className, int key)
获取在当前语言类名键对应的字符串
static Screen PreviousScreen
上一个Screen
static void ResetAllTopBarMarginLeft()
static void SwitchScreen(string name, params object[] parameters)
static void UpdateTopBarMarginLeft()
static CommunityContentMode CommunityContentMode
static string[] ScreenshotSizeCustomAspectRatiosNames
static int[] ScreenshotSizeCustomWidths
static ScreenshotSize ScreenshotSize
static CommunityContentMode OriginalCommunityContentMode
static int ScreenshotSizeCustomAspectRatioIndex
override void Enter(object[] parameters)
ButtonWidget m_originalCommunityContentModeButton
ButtonWidget m_deleteWorldNeedToTextButton
ButtonWidget m_showLogoInScreenshotsButton
ContainerWidget m_screenshotSizeCustomWidthSliderContainer
ButtonWidget m_showGuiInScreenshotsButton
ContainerWidget m_windowModeContainer
ButtonWidget m_communityContentModeButton
SliderWidget m_screenshotSizeCustomAspectRatioSlider
SliderWidget m_screenshotSizeCustomWidthSlider
UniformSpacingPanelWidget m_adaptEdgeToEdgeDisplayContainer
ContainerWidget m_screenshotSizeCustomAspectRatioSliderContainer
static Platform CurrentPlatform
virtual void LoadContents(object eventsTarget, XElement node)