Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        protected override void DrawMainPart()
        {
            left.Reset();
            LabelCenter(left, locale["profileSel"], true);

            newProfile = TextField(left, newProfile, string.Empty, 0f, true);
            left.BeginHorizontal(2);
            if (Button(left, locale["btnAdd"], false))
            {
                if (User.AllProfiles.Length < MaxProfiles)
                {
                    User.LoadProfile(newProfile);
                    newProfile     = "Profile" + (User.AllProfiles.Length + 1);
                    currentProfile = FindCurrentProfile();
                }
                else
                {
                    //Put log
                }
            }
            left.MoveX();
            if (Button(left, locale["btnCopy"], true))
            {
                if (User.AllProfiles.Length < MaxProfiles)
                {
                    User.CopyProfile(newProfile, User.ProfileName);
                    User.LoadProfile(newProfile);
                    newProfile     = "Profile" + (User.AllProfiles.Length + 1);
                    currentProfile = FindCurrentProfile();
                }
                else
                {
                    //Put log
                }
            }
            left.ResetX();
            if (Button(left, locale["btnRemove"], true))
            {
                if (User.AllProfiles.Length > 1)
                {
                    User.DeleteProfile(User.ProfileName);
                    newProfile     = User.ProfileName;
                    currentProfile = FindCurrentProfile();
                }
                else
                {
                    //Put log
                }
            }

            Label(left, locale["note"], true);
            LabelCenter(left, locale["allProfiles"], true);
            currentProfile = SelectionGrid(left, currentProfile, User.AllProfiles, 1, true);
            CheckChange();
        }
Exemple #4
0
 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();
     }
 }
Exemple #5
0
 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);
 }
Exemple #6
0
 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();
     }
 }
Exemple #7
0
 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();
     }
 }
Exemple #8
0
 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();
     }
 }
Exemple #9
0
 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();
     }
 }
Exemple #10
0
 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);
 }
Exemple #11
0
        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();
            }
        }
Exemple #12
0
        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();
            }
        }
Exemple #13
0
        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"]);
        }
Exemple #14
0
        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();
            }
        }
Exemple #15
0
        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();
            }
        }
Exemple #16
0
        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;
                }
            }
        }
Exemple #17
0
        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;
            }
        }
Exemple #18
0
        private void RoomCreation()
        {
            left.Reset();
            right.Reset();
            LabelCenter(left, locale["roomSettings"], true);
            serverName = TextField(left, serverName, locale["roomName"], Style.LabelOffset, true);
            password   = TextField(left, password, locale["pwd"], Style.LabelOffset, true);
            serverTime = TextField(left, serverTime, locale["time"], Style.LabelOffset * 2f, true);
            maxPlayers = TextField(left, maxPlayers, locale["players"], Style.LabelOffset * 2f, true);

            LabelCenter(left, locale["difficulity"], true);
            difficulity = SelectionGrid(left, difficulity, difficulities, difficulities.Length, true);

            LabelCenter(left, locale["dayLight"], true);
            daylight = SelectionGrid(left, daylight, daylights, daylights.Length, true);
            left.MoveY();

            LabelCenter(left, locale["presets"], true);
            Label(left, locale["presetNote"], true);
            newPresetName = TextField(left, newPresetName, locale["presetName"], Style.LabelOffset, true);
            left.width    = (left.DefaultWidth - Style.HorizontalMargin) / 2f;
            if (Button(left, locale["presetAdd"], false))
            {
                ServerPreset set = new ServerPreset(newPresetName);
                ExportPreset(set);
                presets.Add(set);
                presetView.height = (presets.Count * Style.Height) + ((presets.Count - 1) * Style.VerticalMargin);
                set.Save();
            }
            left.MoveX();
            if (Button(left, locale["presetRemove"], true))
            {
                if (presets.Count > 0)
                {
                    ServerPreset selected = null;
                    for (int i = 0; i < presets.Count; i++)
                    {
                        if (presets[i].Name == newPresetName)
                        {
                            selected = presets[i];
                        }
                    }
                    if (selected != null)
                    {
                        presets.Remove(selected);
                        selected.Delete();
                        newPresetName = "Set " + (presets.Count + 1);
                        if (presets.Count > 0)
                        {
                            newPresetName = presets[presets.Count - 1].Name;
                        }

                        presetView.height = (presets.Count * Style.Height) + ((presets.Count - 1) * Style.VerticalMargin);
                    }
                }
            }
            left.ResetX();
            if (presets.Count > 0)
            {
                presetArea.y = left.y;
                presetRect.Reset();
                presetScroll = BeginScrollView(presetArea, presetScroll, presetView);
                {
                    for (int i = 0; i < presets.Count; i++)
                    {
                        if (Button(presetRect, presets[i].Name, true))
                        {
                            ServerPreset selected = presets[i];
                            ImportPreset(selected);
                        }
                    }
                }
                EndScrollView();
            }

            left.MoveToEndY(BoxPosition, Style.Height);
            left.width = left.DefaultWidth / 2f - Style.HorizontalMargin;
            if (Button(left, locale["btnCreation"], false))
            {
                disconnectByJoin = true;
                string[] args = new string[]
                {
                    serverName,
                    maps[mapSelection],
                    new string[] { "normal", "hard", "abnormal" }[difficulity],
                    serverTime,
                    new string[] { "day", "dawn", "night" }[daylight],
                    password.Length > 0 ? new SimpleAES().Encrypt(password) : string.Empty,
                    UnityEngine.Random.Range(1000000, 10000000).ToString()
                };
                if (!int.TryParse(maxPlayers, out int max))
                {
                    max = 5;
                }
                PhotonNetwork.CreateRoom(string.Join("`", args), new RoomOptions()
                {
                    isVisible = true, isOpen = true, maxPlayers = max
                }, null);
                DisableImmediate();
                AnarchyManager.Background.Disable();
                return;
            }
            left.MoveX(Style.HorizontalMargin, true);
            if (Button(left, locale["btnOffline"], false))
            {
                disconnectByJoin = true;
                PhotonNetwork.Disconnect();
                PhotonNetwork.offlineMode = true;
                string[] args = new string[]
                {
                    serverName,
                    maps[mapSelection],
                    new string[] { "normal", "hard", "abnormal" }[difficulity],
                    serverTime,
                    new string[] { "day", "dawn", "night" }[daylight],
                    password.Length > 0 ? new SimpleAES().Encrypt(password) : string.Empty,
                    UnityEngine.Random.Range(1000000, 10000000).ToString()
                };
                if (!int.TryParse(maxPlayers, out int max))
                {
                    max = 5;
                }
                PhotonNetwork.CreateRoom(string.Join("`", args), new RoomOptions()
                {
                    isVisible = true, isOpen = true, maxPlayers = max
                }, null);
                DisableImmediate();
                AnarchyManager.Background.Disable();
                return;
            }

            LabelCenter(right, locale["mapSelection"], true);
            mapSelection = SelectionGrid(right, mapSelection, maps, 1);
            right.MoveToEndY(BoxPosition, Style.Height);
            right.MoveToEndX(BoxPosition, new AutoScaleFloat(240f) + Style.HorizontalMargin);
            right.width = new AutoScaleFloat(120f);
            if (Button(right, locale["btnSettings"], false))
            {
                connected     = false;
                pageSelection = SettingsPage;
                return;
            }
            right.MoveX();
            if (Button(right, locale["btnList"], false))
            {
                connected = PhotonNetwork.connected;
                if (connected)
                {
                    timeToUpdate = 0.1f;
                }
                pageSelection = ServerListPage;
                return;
            }
        }
Exemple #19
0
        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();
        }
Exemple #20
0
        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();
        }