private void DrawLowerButtons() { rect.MoveToEndY(WindowPosition, Style.Height); rect.MoveToEndX(WindowPosition, Style.LabelOffset); rect.width = Style.LabelOffset; if (Button(rect, locale["btnBack"])) { Disable(); return; } }
private void LogicPage() { LabelCenter(left, locale["logicScript"], true); left.height = (BoxPosition.y + BoxPosition.height - Style.WindowBottomOffset - Style.Height - Style.VerticalMargin) - left.y; CustomLevel.currentScriptLogic = UnityEngine.GUI.TextArea(left.ToRect(), CustomLevel.currentScriptLogic, areaStyle); rect.MoveToEndY(BoxPosition, Style.Height); rect.width = 144f; rect.height = Style.Height; if (Button(rect, locale["btnClear"], false)) { CustomLevel.currentScriptLogic = ""; } rect.MoveToEndX(BoxPosition, 144f); if (Button(rect, locale["btnClose"])) { 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(); } }
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 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 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; } }