8 private static const string GAME_MASTER =
"Game Master";
9 private static const string LAYER_EDITING =
"m_bLayerEditing";
10 private static const string PREVIEW_VERTICAL_SNAP =
"m_PreviewVerticalSnap";
11 private static const string PREVIEW_VERTICLE_MODE =
"m_PreviewVerticleMode";
12 private static const string CAMERA_MOVE_ATL =
"m_bCameraMoveATL";
13 private static const string CAMERA_SPEED_ATL =
"m_bCameraSpeedATL";
14 private static const string CAMERA_SPEED_COEF =
"m_fCameraSpeedCoef";
15 private static const string CAMERA_ABOVE_TERRAIN =
"m_bCameraAboveTerrain";
16 private static const string CAMERA_ROTATE_WITH_MODIFIER =
"m_bCameraRotateWithModifier";
17 private static const string SHOW_IDENTITY_BIO_TOOLTIP =
"m_bShowIdentityBioTooltip";
22 BaseContainer editorCameraSettings =
GetGame().GetGameUserSettings().GetModule(
"SCR_ManualCameraSettings");
25 super.OnTabCreate(menuRoot, buttonsLayout,
index);
27 if (!editorCameraSettings)
37 editorSettings.Get(LAYER_EDITING, state);
40 checkBox.m_OnChanged.Insert(SetEnableLayerEditing);
44 Print(
"Editor setting 'LayerEditing' not found",
LogLevel.WARNING);
52 editorSettings.Get(PREVIEW_VERTICAL_SNAP, value);
55 checkBox.m_OnChanged.Insert(SetVerticalSnap);
59 Print(
"Editor setting 'VerticalSnap' not found",
LogLevel.WARNING);
67 editorSettings.Get(PREVIEW_VERTICLE_MODE, value);
70 checkBox.m_OnChanged.Insert(SetVerticalMode);
74 Print(
"Editor setting 'VerticalOrientation' not found",
LogLevel.WARNING);
78 if (m_wHorizontalCameraSpeedCheckbox)
81 editorCameraSettings.Get(CAMERA_MOVE_ATL, value);
83 m_wHorizontalCameraSpeedCheckbox.SetCurrentItem(value,
false,
false);
84 m_wHorizontalCameraSpeedCheckbox.m_OnChanged.Insert(SetHorizontalCameraSpeed);
88 Print(
"Editor setting 'HorizontalCameraSpeed' not found",
LogLevel.WARNING);
92 if (m_wATLSpeedCheckbox)
95 editorCameraSettings.Get(CAMERA_SPEED_ATL, value);
97 m_wATLSpeedCheckbox.SetCurrentItem(value,
false,
false);
98 m_wATLSpeedCheckbox.SetEnabled(m_wHorizontalCameraSpeedCheckbox.GetCurrentIndex() > 0);
100 m_wATLSpeedCheckbox.m_OnChanged.Insert(SetATLSpeed);
106 text.SetTextOffset(20, 0);
110 Print(
"Editor setting 'ATLSpeed' not found",
LogLevel.WARNING);
115 if (m_wSpeedCoefSlider)
117 m_wSpeedCoefSlider.SetSliderSettings(0.1, 10, 0.05,
"#AR-ValueUnit_Short_Multiplier");
119 editorCameraSettings.Get(CAMERA_SPEED_COEF, value);
121 m_wSpeedCoefSlider.SetValue(value);
123 m_wSpeedCoefSlider.m_OnChanged.Insert(SetSpeedCoef);
127 Print(
"Editor setting 'SpeedCoef' not found",
LogLevel.WARNING);
131 if (wb_CameraAboveTerrain)
134 editorCameraSettings.Get(CAMERA_ABOVE_TERRAIN, value);
137 wb_CameraAboveTerrain.m_OnChanged.Insert(SetCameraAboveTerrain);
141 Print(
"Editor setting 'WB_CameraAboveTerrain' not found",
LogLevel.WARNING);
145 if (wb_CameraRotateWithModifier)
148 editorCameraSettings.Get(CAMERA_ROTATE_WITH_MODIFIER, value);
151 wb_CameraRotateWithModifier.m_OnChanged.Insert(SetCameraRotateWithModifier);
155 Print(
"Editor setting 'm_bCameraRotateWithModifier' not found",
LogLevel.WARNING);
159 if (showIdentityTooltip)
162 editorSettings.Get(SHOW_IDENTITY_BIO_TOOLTIP, state);
171 if (wb_Seperator) wb_Seperator.SetVisible(
false);
172 if (wb_CameraAboveTerrain) wb_CameraAboveTerrain.GetRootWidget().SetVisible(
false);
173 if (wb_CameraRotateWithModifier) wb_CameraRotateWithModifier.GetRootWidget().SetVisible(
false);
185 editorSettings.Set(LAYER_EDITING, state);
188 GetGame().UserSettingsChanged();
197 editorSettings.Set(PREVIEW_VERTICAL_SNAP, state);
200 GetGame().UserSettingsChanged();
211 editorSettings.Set(PREVIEW_VERTICLE_MODE, state);
214 GetGame().UserSettingsChanged();
217 if (!previewComponent)
226 m_wATLSpeedCheckbox.SetEnabled(state);
232 settings.Set(CAMERA_MOVE_ATL, state);
235 GetGame().UserSettingsChanged();
245 settings.Set(CAMERA_SPEED_ATL, state);
248 GetGame().UserSettingsChanged();
260 settings.Set(CAMERA_SPEED_COEF, value);
263 GetGame().UserSettingsChanged();
273 settings.Set(CAMERA_ABOVE_TERRAIN, state);
276 GetGame().UserSettingsChanged();
286 settings.Set(CAMERA_ROTATE_WITH_MODIFIER, state);
289 GetGame().UserSettingsChanged();
299 editorSettings.Set(SHOW_IDENTITY_BIO_TOOLTIP, state);
302 GetGame().UserSettingsChanged();
307 float coef =
Math.Pow(10, decimals);
308 value =
Math.Round(value * coef);
309 string valueText = value.ToString();
312 for (
int i = 0, count = decimals - valueText.Length() + 1; i < count; i++)
314 valueText =
"0" + valueText;
316 int length = valueText.Length();
317 valueText = valueText.Substring(0, length - decimals) +
"." + valueText.Substring(length - decimals, decimals);