public static float BombStatSlider(SmartRect position, float value, string label, float offset, float step, float min, float max, bool move = true) { if (offset > 0f) { UnityEngine.GUI.Label(position.ToRect(), label, Style.Label); position.MoveOffsetX(offset); } value = UnityEngine.GUI.HorizontalSlider(position.ToRect(), value, min, max, Style.Slider, Style.SliderBody); position.ResetX(); if (move) { position.MoveY(); } if (step == 0.5f) { int low = Mathf.FloorToInt(value); float diff = value - low; if (diff >= 0.25f && diff < 0.75f) { return(low + 0.5f); } else { return(Mathf.RoundToInt(value)); } } else { return((int)value); } }
private void DrawVideoPage() { //left left.Reset(); LabelCenter(left, locale["graphics"], true); HorizontalSlider(left, VideoSettings.DrawDistance, locale.Format("drawDistance", VideoSettings.DrawDistance.Value.ToString("F0")), 1000f, 10000f, Style.LabelOffsetSlider, true); ToggleButton(left, VideoSettings.Mipmap, locale["mipmap"], true); ToggleButton(left, VideoSettings.VSync, locale["vsync"], true); LabelCenter(left, locale["texturesQuality"], true); SelectionGrid(left, VideoSettings.TextureQuality, locale.GetArray("texturesLevels"), 4, true); LabelCenter(left, locale.Format("quality", VideoSettings.Quality.Value.ToString("F2")), true); HorizontalSlider(left, VideoSettings.Quality, string.Empty, 0f, 1f, 0f, true); left.MoveY(); LabelCenter(left, locale["advancedVideo"], true); ToggleButton(left, VideoSettings.OcclusionCulling, locale["occlusion"], true); LabelCenter(left, locale["aniso"], true); SelectionGrid(left, VideoSettings.AnisotropicFiltering, locale.GetArray("anisoLevels"), 3, true); Label(left, locale["antiAliasing"], false); left.MoveOffsetX(Style.LabelOffset); SelectionGrid(left, VideoSettings.AntiAliasing, locale.GetArray("antiAliasings"), 4, true); left.ResetX(); Label(left, locale["bWeight"], false); left.MoveOffsetX(Style.LabelOffset); SelectionGrid(left, VideoSettings.BlendWeight, locale.GetArray("blendWeights"), 3, true); left.ResetX(); HorizontalSlider(left, VideoSettings.LODBias, locale.Format("lodBias", VideoSettings.LODBias.Value.ToString("F2")), 0f, 2f, Style.LabelOffsetSlider, true); HorizontalSlider(left, VideoSettings.MaxLODLevel, locale.Format("maxLOD", VideoSettings.MaxLODLevel.Value.ToString("F0")), 0f, 7f, Style.LabelOffsetSlider, true); //right right.Reset(); LabelCenter(right, locale["shadows"], true); Label(right, locale["shadowNote"], true); ToggleButton(right, VideoSettings.UseShadows, locale["useShadows"], true); HorizontalSlider(right, VideoSettings.ShadowDistance, locale.Format("shadowDist", VideoSettings.ShadowDistance.Value.ToString("F0")), 0f, 1000f, Style.LabelOffsetSlider, true); Label(right, locale["shadowCascade"], false); right.MoveOffsetX(Style.LabelOffset); SelectionGrid(right, VideoSettings.ShadowCascades, locale.GetArray("shadowCascades"), 3, true); right.ResetX(); Label(right, locale["shadowProjection"], false); right.MoveOffsetX(Style.LabelOffset); SelectionGrid(right, VideoSettings.ShadowProjection, locale.GetArray("shadowProjections"), 2, true); right.ResetX(); }
public static void Toggle(SmartRect position, Setting <bool> val, string label, float offset, bool move = false) { UGUI.Label(position.ToRect(), label, Style.Label); position.MoveOffsetX(position.width - Style.Height); val.Value = UGUI.Toggle(position.ToRect(), val.Value, string.Empty, Style.Toggle); position.ResetX(); if (move) { position.MoveY(); } }
public static bool Toggle(SmartRect position, bool val, string label, bool move = false) { UGUI.Label(position.ToRect(), label, Style.Label); position.MoveOffsetX(position.width - Height); val = UGUI.Toggle(position.ToRect(), val, string.Empty, Style.Toggle); position.ResetX(); if (move) { position.MoveY(); } return(val); }
public static void HorizontalSlider(SmartRect position, Setting <float> value, string label, float min, float max, float offset, bool move = false) { if (offset > 0f) { UGUI.Label(position.ToRect(), label, Style.Label); position.MoveOffsetX(offset); } value.Value = UGUI.HorizontalSlider(position.ToRect(), value.Value, min, max, Style.Slider, Style.SliderBody); position.ResetX(); if (move) { position.MoveY(); } }
public static void DropdownMenuScrollable(GUIBase baseGUI, SmartRect rect, Setting <int> selection, string[] selections, string label, float horizontalOffest, int showItems, bool move = true) { Label(rect, label, false); rect.MoveOffsetX(horizontalOffest); if (Button(rect, selections[selection.Value], false)) { ScrollableDropdownSelection.CreateNew(baseGUI, rect.ToRect(), selections, selection, showItems); } rect.ResetX(); if (move) { rect.MoveY(); } }
public static void DropdownMenu(SmartRect rect, Setting <int> selection, string[] selections, string label, float horizontalOffest, bool move = true) { Label(rect, label, false); rect.MoveOffsetX(horizontalOffest); if (Button(rect, selections[selection.Value], false)) { DropdownSelection.CreateNew(rect.ToRect(), selections, selection); } rect.ResetX(); if (move) { rect.MoveY(); } }
public static void TextField(SmartRect position, Setting <string> value, string label, float offset, bool move = false) { if (offset > 0f) { UGUI.Label(position.ToRect(), label, Style.Label); position.MoveOffsetX(offset); } value.Value = UGUI.TextField(position.ToRect(), value.Value, Style.TextField); position.ResetX(); if (move) { position.MoveY(); } }
public static float HorizontalSlider(SmartRect position, float value, string label, float offset, bool move = false) { if (offset > 0f) { UGUI.Label(position.ToRect(), label, Style.Label); position.MoveOffsetX(offset); } value = UGUI.HorizontalSlider(position.ToRect(), value, 0f, 1f, Style.Slider, Style.SliderBody); position.ResetX(); if (move) { position.MoveY(); } return(value); }
private void DrawRightColumn() { right.Reset(); LabelCenter(right, locale["character"], true); SelectionGrid(right, costumeSelection, costumeList, 3, true); DropdownMenu(this, right, characterSelection, characterList, true); right.MoveToEndY(WindowPosition, new AutoScaleFloat(30f)); right.MoveOffsetX(new AutoScaleFloat(150f)); right.height = new AutoScaleFloat(30f); if (Button(right, locale["back"], false)) { Disable(); return; } }
protected override void DrawMainPart() { rect.Reset(); Box(BoxPosition, locale["title"]); float offset = new AutoScaleFloat(120f); rect.MoveOffsetX(offset); rect.width -= offset; pageSelection = SelectionGrid(rect, pageSelection, modeSelection, modeSelection.Length); rect.ResetX(); rect.MoveToEndY(BoxPosition, Style.Height); rect.MoveToEndX(BoxPosition, Style.LabelOffset); rect.width = Style.LabelOffset; if (Button(rect, locale["btnClose"])) { Disable(); } }
public static void TextField(SmartRect position, Setting <int> val, string label, float offset, bool move = false) { if (offset > 0f) { UGUI.Label(position.ToRect(), label, Style.Label); position.MoveOffsetX(offset); } if (!integers.ContainsKey(val)) { integers.Add(val, val.Value.ToString()); } string text = integers[val]; text = UGUI.TextField(position.ToRect(), text, Style.TextField); int.TryParse(text, out val.Value); integers[val] = text; position.ResetX(); if (move) { position.MoveY(); } }
private void DrawEffectsPage() { left.Reset(); LabelCenter(left, locale["effects"], true); ToggleButton(left, VideoSettings.WindEffect, locale["windEffect"], true); ToggleButton(left, VideoSettings.BladeTrails, locale["bladeTrails"], true); if (VideoSettings.BladeTrails) { Label(left, Style.LabelSpace + locale["trailAppearance"], false); left.MoveOffsetX(Style.LabelOffsetSlider); SelectionGrid(left, VideoSettings.TrailType, locale.GetArray("trailType"), 3, true); left.ResetX(); ToggleButton(left, VideoSettings.InfiniteTrail, Style.LabelSpace + locale["infiniteTrails"], true); HorizontalSlider(left, VideoSettings.TrailFPS, Style.LabelSpace + locale.Format("trailFps", VideoSettings.TrailFPS.Value.ToString("F0")), 60f, 240f, Style.LabelOffsetSlider, true); } ToggleButton(left, VideoSettings.CameraTilt, locale["tilt"], true); ToggleButton(left, VideoSettings.Blur, locale["blur"], true); ToggleButton(left, VideoSettings.ShadowsUI, locale["shadowsUI"], true); right.Reset(); ToggleButton(right, VideoSettings.DisableFog, locale["disableFog"]); }
protected override void DrawMainPart() { rect.Reset(); Box(WindowPosition, locale["title"]); float offset = new AutoScaleFloat(120f); rect.MoveOffsetX(offset); rect.width -= offset; pageSelection = SelectionGrid(rect, pageSelection, modeSelection, modeSelection.Length); rect.ResetX(); rect.MoveToEndY(WindowPosition, Style.Height); rect.MoveToEndX(WindowPosition, Style.LabelOffset * 2f + Style.HorizontalMargin); rect.width = Style.LabelOffset; if (Button(rect, locale["btnReset"], false)) { GameModes.DisableAll(); } rect.MoveX(Style.HorizontalMargin, true); if (Button(rect, locale["btnClose"])) { Disable(); } }
protected override void DrawMainPart() { rect.Reset(); Box(BoxPosition, locale["title"]); rect.MoveOffsetX(new AutoScaleFloat(120f)); rect.width -= new AutoScaleFloat(120f); pageSelection = SelectionGrid(rect, pageSelection, skinTypeSelection, skinTypeSelection.Length); right.Reset(); if (presets != null && presets.Count > 0 && skinSelection >= 0) { var set = presets[skinSelection]; set.Draw(right, locale); } rect.ResetX(); rect.MoveToEndY(BoxPosition, Style.Height); rect.MoveToEndX(BoxPosition, Style.LabelOffset); rect.width = Style.LabelOffset; if (Button(rect, locale["btnClose"])) { Disable(); } }
private void RebindButton(SmartRect rect, KeySetting set) { Label(rect, locale[set.Key] + ":"); rect.MoveOffsetX(Style.LabelOffset * 2f); if (Button(rect, set == waitSetting ? locale["waiting"] : set.ToString()) && !rebindWait) { rebindWait = true; waitSetting = set; } rect.ResetX(); if (set != waitSetting || !rebindWait) { return; } var curr = Event.current; if (curr.keyCode == set.Value && curr.keyCode != KeyCode.None) { set.SetValue(KeyCode.None); rebindWait = false; waitSetting = null; return; } if (Input.GetKey(KeyCode.LeftShift) || Input.GetKeyDown(KeyCode.LeftShift)) { set.SetValue(KeyCode.LeftShift); rebindWait = false; waitSetting = null; return; } else if (Input.GetKey(KeyCode.RightShift) || Input.GetKeyDown(KeyCode.RightShift)) { set.SetValue(KeyCode.RightShift); rebindWait = false; waitSetting = null; return; } if (Input.GetAxis("Mouse ScrollWheel") != 0f) { set.SetAsAxis(Input.GetAxis("Mouse ScrollWheel") > 0f); rebindWait = false; waitSetting = null; } if ((Input.anyKey || curr.functionKey) && curr.keyCode != KeyCode.None) { set.SetValue(curr.keyCode); for (int i = 0; i < 7; i++) { if (Input.GetKeyDown(KeyCode.Mouse0 + i)) { set.SetValue((KeyCode.Mouse0 + i)); waitSetting = null; rebindWait = false; return; } } rebindWait = false; waitSetting = null; return; } for (int i = 0; i < 7; i++) { if (Input.GetKeyDown(KeyCode.Mouse0 + i)) { set.SetValue((KeyCode.Mouse0 + i)); waitSetting = null; rebindWait = false; return; } } }
private void ServerList() { if (Event.current != null && Event.current.type == EventType.KeyDown && UnityEngine.GUI.GetNameOfFocusedControl() == "ServerListFilter") { UpdateRoomList(); } rect.Reset(); region = SelectionGrid(rect, region, regions, regions.Length, true); Label(rect, locale["customServer"], false); float offset = ((scrollArea.width - (Style.HorizontalMargin * 3)) / 4f) + Style.HorizontalMargin; rect.MoveOffsetX(offset); rect.width -= (new AutoScaleFloat(100f) - Style.HorizontalMargin); float txt = offset + rect.width; customServer = SelectionGrid(rect, customServer, customServers, customServers.Length, false); rect.ResetX(); rect.MoveOffsetX(txt + Style.HorizontalMargin); customServerField = TextField(rect, customServerField, string.Empty, 0f, true); rect.ResetX(); CheckReconnect(); UnityEngine.GUI.SetNextControlName("ServerListFilter"); nameFilter = TextField(rect, nameFilter, locale["filter"], offset, true); rect.ResetX(); rect.MoveY(Style.VerticalMargin); scrollRect.Reset(); scrollArea.y = rect.y; scroll = BeginScrollView(scrollArea, scroll, scrollAreaView); if (connected) { foreach (var room in roomList) { if (Button(scrollRect, room.UIName.ToHTMLFormat(), true) && room.PlayerCount != room.MaxPlayers) { if (room.HasPassword) { roomToJoin = room; pageSelection = PasswordRequestPage; } else { PhotonNetwork.JoinRoom(room.Name); disconnectByJoin = true; DisableImmediate(); } return; } } } EndScrollView(); rect.MoveToEndY(BoxPosition, Style.Height); rect.width = new AutoScaleFloat(170f); if (Button(rect, locale["btnCreation"], false)) { pageSelection = CreationPage; connected = false; return; } rect.MoveX(new AutoScaleFloat(5f), true); if (Button(rect, locale["btnSettings"], false)) { pageSelection = SettingsPage; connected = false; return; } rect.width = new AutoScaleFloat(120f); rect.MoveToEndX(BoxPosition, new AutoScaleFloat(120f)); if (Button(rect, locale["btnBack"])) { Disable(); return; } }
private void DrawControlElements() { LabelCenter(left, locale["sets"], true); Label(left, locale["name"], false); left.MoveOffsetX(Style.LabelOffset); newSetName = TextField(left, newSetName, string.Empty, 0f, true); left.ResetX(); left.BeginHorizontal(2); if (Button(left, locale["btnAdd"], false)) { SkinPreset add = null; if (pageSelection == Humans) { add = new HumanSkinPreset(newSetName); } else if (pageSelection == Titans) { add = new TitanSkinPreset(newSetName); } else if (pageSelection == City) { add = new CityPreset(newSetName); } else if (pageSelection == Forest) { add = new ForestPreset(newSetName); } else if (pageSelection == Skyboxes) { add = new SkyboxPreset(newSetName); } else if (pageSelection == Custom) { add = new CustomMapPreset(newSetName); } if (add != null) { presets.Add(add); skinSelection = presets.Count - 1; newSetName = locale["set"] + " " + (presets.Count + 1).ToString(); presetLabels = new string[presets.Count]; for (int i = 0; i < presetLabels.Length; i++) { presetLabels[i] = presets[i].Name; } } } left.MoveX(); if (Button(left, locale["btnDelete"], true)) { if (skinSelection >= 0) { presets[skinSelection].Delete(); presets.RemoveAt(skinSelection); } skinSelection = presets.Count > 0 ? presets.Count - 1 : -1; presetLabels = new string[presets.Count]; for (int i = 0; i < presetLabels.Length; i++) { presetLabels[i] = presets[i].Name; } } left.ResetX(); scrollArea.y = left.y; left.MoveToEndY(BoxPosition, Style.Height + Style.VerticalMargin); scrollArea.height = left.y - scrollArea.y; scrollRect.Reset(); scrollAreaView.height = (Style.Height * presetLabels.Length) + (Style.VerticalMargin * (presetLabels.Length + 1)); scroll = BeginScrollView(scrollArea, scroll, scrollAreaView); skinSelection = SelectionGrid(scrollRect, skinSelection, presetLabels, 1, true); EndScrollView(); }
protected override void DrawMainPart() { left.Reset(); right.Reset(); rect.Reset(); float offset = new AutoScaleFloat(120f); rect.MoveOffsetX(offset); rect.width -= offset; pageSelection = SelectionGrid(rect, pageSelection, selections, selections.Length, true); rect.ResetX(); LabelCenter(right, locale["picker" + pageSelection.ToString()], true); right.BeginHorizontal(2); if (Button(right, locale["update"], false)) { if (pageSelection == CustomLogicPage) { allNames = LoadFiles(LogicsPath); } else { allNames = LoadFiles(MapsPath); } } right.MoveX(); if (Button(right, locale["random"], true)) { int pickId = Random.Range(0, allNames.Length); if (filter.Length > 0) { PickByName(allNames[pickId], true); } else { Pick(pickId, allNames[pickId], true); } } right.ResetX(); filter = TextField(right, filter, locale["filter"], Style.LabelOffset, true); scrollArea.y = right.y; right.MoveToEndY(BoxPosition, Style.Height + Style.VerticalMargin); scrollArea.height = right.y - scrollArea.y; scrollRect.Reset(); scrollAreaView.height = (Style.Height * allNames.Length) + ((Style.VerticalMargin * 2) * allNames.Length); scroll = BeginScrollView(scrollArea, scroll, scrollAreaView); for (int i = 0; i < allNames.Length; i++) { if (Button(scrollRect, allNames[i], (i != allNames.Length - 1))) { if (filter.Length == 0) { Pick(i, allNames[i], false); } else { PickByName(allNames[i], false); } } } EndScrollView(); }