Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
SettingsControlsScreen.cs
浏览该文件的文档.
1using Engine;
2using System.Xml.Linq;
3
4namespace Game {
32
33 public const string fName = "SettingsControlsScreen";
34
36 XElement node = ContentManager.Get<XElement>("Screens/SettingsControlsScreen");
37 LoadContents(this, node);
38 m_moveControlModeButton = Children.Find<ButtonWidget>("MoveControlMode");
39 m_lookControlModeButton = Children.Find<ButtonWidget>("LookControlMode");
40 m_leftHandedLayoutButton = Children.Find<ButtonWidget>("LeftHandedLayout");
41 m_flipVerticalAxisButton = Children.Find<ButtonWidget>("FlipVerticalAxis");
42 m_AllowInitialIntro = Children.Find<ButtonWidget>("AllowInitialIntro");
43 m_autoJumpButton = Children.Find<ButtonWidget>("AutoJump");
44 m_horizontalCreativeFlightButton = Children.Find<ButtonWidget>("HorizontalCreativeFlight");
45 m_horizontalCreativeFlightPanel = Children.Find<ContainerWidget>("HorizontalCreativeFlightPanel");
46 m_creativeDragMaxStackingButton = Children.Find<ButtonWidget>("CreativeDragMaxStacking");
47 m_splitDragHalfButton = Children.Find<ButtonWidget>("SplitDragHalf");
48 m_shortInventoryLoopingButton = Children.Find<ButtonWidget>("ShortInventoryLooping");
49 m_moveSensitivitySlider = Children.Find<SliderWidget>("MoveSensitivitySlider");
50 m_lookSensitivitySlider = Children.Find<SliderWidget>("LookSensitivitySlider");
51 m_gamepadCursorSpeedSlider = Children.Find<SliderWidget>("GamepadCursorSpeedSlider");
52 m_gamepadDeadZoneSlider = Children.Find<SliderWidget>("GamepadDeadZoneSlider");
53 m_gamepadTriggerThresholdSlider = Children.Find<SliderWidget>("GamepadTriggerThresholdSlider");
54 m_creativeDigTimeSlider = Children.Find<SliderWidget>("CreativeDigTimeSlider");
55 m_creativeReachSlider = Children.Find<SliderWidget>("CreativeReachSlider");
56 m_holdDurationSlider = Children.Find<SliderWidget>("HoldDurationSlider");
57 m_dragDistanceSlider = Children.Find<SliderWidget>("DragDistanceSlider");
58 m_MemoryBankStyle = Children.Find<ButtonWidget>("MemoryBankStyle");
59 m_moveWidgetMarginXSlider = Children.Find<SliderWidget>("MoveWidgetMarginXSlider");
60 m_moveWidgetMarginYSlider = Children.Find<SliderWidget>("MoveWidgetMarginYSlider");
61 m_keyboardMappingEntry = Children.Find<ButtonWidget>("KeyboardMappingEntry");
62 m_gamepadMappingEntry = Children.Find<ButtonWidget>("GamepadMappingEntry");
63 m_CameraManageEntry = Children.Find<ButtonWidget>("CameraManageEntry");
64 m_horizontalCreativeFlightPanel.IsVisible = true;
65 }
66
67 public override void Update() {
68 if (m_moveControlModeButton.IsClicked) {
71 }
72 if (m_lookControlModeButton.IsClicked) {
75 }
76 if (m_leftHandedLayoutButton.IsClicked) {
78 }
79 if (m_flipVerticalAxisButton.IsClicked) {
81 }
82 if (m_autoJumpButton.IsClicked) {
84 }
87 }
88 if (m_creativeDragMaxStackingButton.IsClicked) {
90 }
91 if (m_splitDragHalfButton.IsClicked) {
93 }
94 if (m_shortInventoryLoopingButton.IsClicked) {
96 }
97 if (m_moveSensitivitySlider.IsSliding) {
99 }
100 if (m_lookSensitivitySlider.IsSliding) {
102 }
103 if (m_gamepadCursorSpeedSlider.IsSliding) {
105 }
106 if (m_gamepadDeadZoneSlider.IsSliding) {
108 }
109 if (m_gamepadTriggerThresholdSlider.IsSliding) {
111 }
112 if (m_creativeDigTimeSlider.IsSliding) {
114 }
115 if (m_creativeReachSlider.IsSliding) {
117 }
118 if (m_holdDurationSlider.IsSliding) {
120 }
121 if (m_dragDistanceSlider.IsSliding) {
123 }
124 if (m_MemoryBankStyle.IsClicked) {
126 }
127 if (m_moveWidgetMarginXSlider.IsSliding) {
129 }
130 if (m_moveWidgetMarginYSlider.IsSliding) {
132 }
133 if (m_keyboardMappingEntry.IsClicked) {
134 ScreensManager.SwitchScreen("KeyboardMapping");
135 }
136 if (m_gamepadMappingEntry.IsClicked) {
137 ScreensManager.SwitchScreen("GamepadMapping");
138 }
139 if (m_CameraManageEntry.IsClicked) {
140 ScreensManager.SwitchScreen("CameraManage");
141 }
142 if (m_AllowInitialIntro.IsClicked) {
144 }
145 m_moveControlModeButton.Text = LanguageControl.Get("MoveControlMode", SettingsManager.MoveControlMode.ToString());
146 m_lookControlModeButton.Text = LanguageControl.Get("LookControlMode", SettingsManager.LookControlMode.ToString());
149 m_MemoryBankStyle.Text = SettingsManager.UsePrimaryMemoryBank
154 m_horizontalCreativeFlightButton.Text = SettingsManager.HorizontalCreativeFlight ? LanguageControl.On : LanguageControl.Off;
155 m_creativeDragMaxStackingButton.Text = SettingsManager.CreativeDragMaxStacking ? LanguageControl.On : LanguageControl.Off;
157 m_shortInventoryLoopingButton.Text = SettingsManager.ShortInventoryLooping ? LanguageControl.On : LanguageControl.Off;
158 m_moveSensitivitySlider.Value = SettingsManager.MoveSensitivity;
159 m_moveSensitivitySlider.Text = (SettingsManager.MoveSensitivity * 10f).ToString("0.0");
160 m_lookSensitivitySlider.Value = SettingsManager.LookSensitivity;
161 m_lookSensitivitySlider.Text = (SettingsManager.LookSensitivity * 10f).ToString("0.0");
162 m_gamepadCursorSpeedSlider.Value = SettingsManager.GamepadCursorSpeed;
163 m_gamepadCursorSpeedSlider.Text = $"{SettingsManager.GamepadCursorSpeed:0.0}x";
164 m_gamepadDeadZoneSlider.Value = SettingsManager.GamepadDeadZone;
165 m_gamepadDeadZoneSlider.Text = $"{SettingsManager.GamepadDeadZone * 100f:0}%";
166 m_gamepadTriggerThresholdSlider.Value = SettingsManager.GamepadTriggerThreshold;
167 m_gamepadTriggerThresholdSlider.Text = $"{SettingsManager.GamepadTriggerThreshold * 100f:0}%";
168 m_creativeDigTimeSlider.Value = SettingsManager.CreativeDigTime;
169 m_creativeDigTimeSlider.Text = $"{MathF.Round(1000f * SettingsManager.CreativeDigTime)}ms";
170 m_creativeReachSlider.Value = SettingsManager.CreativeReach;
171 m_creativeReachSlider.Text = string.Format(LanguageControl.Get(fName, 0), $"{SettingsManager.CreativeReach:0.0} ");
172 m_holdDurationSlider.Value = SettingsManager.MinimumHoldDuration;
173 m_holdDurationSlider.Text = $"{MathF.Round(1000f * SettingsManager.MinimumHoldDuration)}ms";
174 m_dragDistanceSlider.Value = SettingsManager.MinimumDragDistance;
175 m_dragDistanceSlider.Text = $"{MathF.Round(SettingsManager.MinimumDragDistance)} {LanguageControl.Get(fName, 1)}";
176 m_moveWidgetMarginXSlider.Value = SettingsManager.MoveWidgetMarginX;
177 m_moveWidgetMarginXSlider.Text = $"{SettingsManager.MoveWidgetMarginX * 100f:F0}%";
178 m_moveWidgetMarginYSlider.Value = SettingsManager.MoveWidgetMarginY;
179 m_moveWidgetMarginYSlider.Text = $"{SettingsManager.MoveWidgetMarginY * 100f:F0}%";
180 if (Input.Back
181 || Input.Cancel
182 || Children.Find<ButtonWidget>("TopBar.Back").IsClicked) {
183 ScreensManager.SwitchScreen("Settings");
184 }
185 }
186 }
187}
static int Clamp(int x, int min, int max)
readonly WidgetsList Children
static object Get(Type type, string name)
static IList< int > GetEnumValues(Type type)
static string Get(string className, int key)
获取在当前语言类名键对应的字符串
static void SwitchScreen(string name, params object[] parameters)
static MoveControlMode MoveControlMode
static LookControlMode LookControlMode
static float GamepadTriggerThreshold
手柄扳机触发阈值,范围0~1,默认0.5。扳机的按压幅度只有超过这个数时才会被视为“按下”状态,越小则越容易触发。
virtual void LoadContents(object eventsTarget, XElement node)