private void ExportPreset(ServerPreset set) { set.Daylight = daylight; set.Difficulity = difficulity; set.Map = mapSelection; set.Password = password; set.Players = maxPlayers; set.ServerName = serverName; set.Time = serverTime; }
private void ImportPreset(ServerPreset preset) { daylight = preset.Daylight; difficulity = preset.Difficulity; mapSelection = preset.Map; password = preset.Password; serverName = preset.ServerName; maxPlayers = preset.Players; serverTime = preset.Time; newPresetName = preset.Name; }
public static ServerPresetItem ToItem(this ServerPreset entity) { var item = new ServerPresetItem() { Id = entity.Id, Name = entity.Name, BanListPreset = BanListPresetsProvider.Instance.FindPresetItemById(entity.BanListPresetId), MapListPreset = MapListPresetsProvider.Instance.FindPresetItemById(entity.MapListPresetId), ServerParamsPreset = ServerParamsPresetsProvider.Instance.FindPresetItemById(entity.ServerParamsPresetId), StartupPreset = StartupPresetsProvider.Instance.FindPresetItemById(entity.StartupPresetId), OpenConsole = entity.OpenConsole, }; item.ModSelections.AddRange(entity.ModSelections.ToItemList()); item.IsDirty = false; return(item); }
private void EnableCreation() { head = locale["roomCreationTitle"]; SmartRect[] rects = Helper.GetSmartRects(WindowPosition, 2); left = rects[0]; right = rects[1]; serverName = "Food for titoons"; serverTime = "83"; password = string.Empty; //mapSelection = 0; maps = new string[] { "The City", "The Forest", "The Forest II", "The Forest III", "The Forest IV - LAVA", "Annie", "Annie II", "Colossal Titan", "Colossal Titan II", "Trost", "Trost II", "Racing - Akina", "Outside The Walls", "The City III", "Cave Fight", "House Fight", "Custom", "Custom (No PT)", //End RC maps //Custom maps, added in Anarchy or other mods "The City II", "The City IV", "The City V", //Anarchy maps "Custom-Anarchy (No PT)" }; daylight = 0; daylights = locale.GetArray("dayLights"); difficulity = 0; difficulities = locale.GetArray("difficulities"); maxPlayers = "5"; ServerPreset[] sets = ServerPreset.LoadPresets(); presets = new List <ServerPreset>(); if (sets != null) { foreach (ServerPreset set in sets) { presets.Add(set); } } newPresetName = "Set " + (presets.Count + 1); if (sets.Length > 0) { newPresetName = sets[sets.Length - 1].Name; } presetArea = new Rect(left.x, 0f, left.width, Style.Height * PresetsVisibleCount + Style.VerticalMargin * (PresetsVisibleCount - 1)); presetView = new Rect(0f, 0f, left.width, Style.Height * presets.Count + (Style.VerticalMargin * (presets.Count - 1))); presetRect = new SmartRect(0f, 0f, left.width, Style.Height, 0f, Style.VerticalMargin); presetScroll = Optimization.Caching.Vectors.v2zero; mapSelectionSetting = new Configuration.IntSetting("tempMapSelectionSetting", 0); mapSelectionSetting.Value = 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; } }