public void OnRoomCreate(RoomInfos room) { if (!m_rooms.ContainsKey(room.GetRoomName())) { Invoke(new Action <RoomInfos>(InternalRoomCreated), room); } }
private void InternalRoomCreated(RoomInfos room) { string roomname = room.GetRoomName(); if (m_rooms.ContainsKey(roomname)) { return; } m_rooms.Add(roomname, room); ListBox rooms = (room.isRanked ? RankedList : UnrankedList); if (FilterActive.Checked) { if (!m_rooms[roomname].hasStarted) { if (m_rooms[roomname].Contains(FilterTextBox.Text.ToLower()) || m_rooms[roomname].roomName.ToLower().Contains(FilterTextBox.Text.ToLower()) || FilterTextBox.Text == "Search" || FilterTextBox.Text == "") { rooms.Items.Add(roomname); } } } else { if (m_rooms[roomname].Contains(FilterTextBox.Text.ToLower()) || m_rooms[roomname].roomName.ToLower().Contains(FilterTextBox.Text.ToLower()) || FilterTextBox.Text == "Search" || FilterTextBox.Text == "") { rooms.Items.Add(roomname); } } UpdateServerInfo(); }
private void InternalRoomCreated(RoomInfos room) { string roomname = room.GetRoomName(); if (m_rooms.ContainsKey(roomname)) { return; } m_rooms.Add(roomname, room); ListBox rooms = (room.isRanked ? RankedList : UnrankedList); rooms.Items.Add(roomname); }
private void QuickHost(string mode, bool isranked) { var ran = new Random(); var form = new Host(false, false) { CardRules = { Text = Program.Config.CardRules }, Mode = { Text = mode }, Priority = { Checked = Program.Config.EnablePrority }, CheckDeck = { Checked = Program.Config.DisableCheckDeck }, ShuffleDeck = { Checked = Program.Config.DisableShuffleDeck }, LifePoints = { Text = Program.Config.Lifepoints }, GameName = LauncherHelper.GenerateString().Substring(0, 5), BanList = { SelectedItem = Program.Config.BanList }, TimeLimit = { SelectedItem = Program.Config.TimeLimit } }; ListBox list = (isranked) ? RankedList : UnrankedList; if (isranked) { form.BanList.SelectedIndex = 0; form.CheckDeck.Checked = false; form.ShuffleDeck.Checked = false; form.Priority.Checked = false; form.CardRules.SelectedIndex = 2; form.LifePoints.Text = form.Mode.Text == "Tag" ? "16000" : "8000"; } else { if (Program.Config.Lifepoints != ((mode == "Tag") ? "16000":"8000")) { if (MessageBox.Show(Program.LanguageManager.Translation.GameLPChange, Program.LanguageManager.Translation.hostLifep, MessageBoxButtons.YesNo) == DialogResult.Yes) { form.LifePoints.Text = mode == "Tag" ? "16000" : "8000"; } } } RoomInfos userinfo = RoomInfos.FromName(form.GenerateURI(isranked)); var matchedRooms = (from object room in list.Items where m_rooms.ContainsKey(room.ToString()) select m_rooms[room.ToString()] into info where RoomInfos.CompareRoomInfo(userinfo, info) select info).ToList(); if (matchedRooms.Count > 0) { var selectroom = ran.Next(matchedRooms.Count); form.GameName = matchedRooms[selectroom].roomName; } LauncherHelper.GenerateConfig(Program.Server, form.GenerateURI(isranked)); LauncherHelper.RunGame("-j"); }
public void LoadRoom(object sender, EventArgs e) { var rooms = (ListBox)sender; if (rooms.SelectedIndex == -1) { return; } if (!m_rooms.ContainsKey(rooms.SelectedItem.ToString())) { return; } RoomInfos item = m_rooms[rooms.SelectedItem.ToString()]; if (item.isRanked && !item.hasStarted) { MessageBox.Show("Cannot manually join a ranked game."); return; } if (item.isLocked) { var form = new InputFrm(string.Empty, Program.LanguageManager.Translation.GameEnterPassword, Program.LanguageManager.Translation.QuickHostBtn, Program.LanguageManager.Translation.optionBtnCancel) { InputBox = { MaxLength = 4 } }; if (!item.hasStarted) { if (form.ShowDialog() == DialogResult.OK) { if (form.InputBox.Text != item.roomName) { MessageBox.Show(Program.LanguageManager.Translation.GameWrongPassword); return; } } else { return; } } } if (Program.ServerList.ContainsKey(item.server)) { LauncherHelper.GenerateConfig(Program.ServerList[item.server], item.ToName()); LauncherHelper.RunGame("-j"); } }
private void InternalRoomStarted(string roomname) { if (!m_rooms.ContainsKey(roomname)) { return; } RoomInfos item = m_rooms[roomname]; ListBox rooms = (item.isRanked ? RankedList : UnrankedList); item.hasStarted = true; if (!ActiveGames.Checked) { rooms.Items.Remove(roomname); } }
private void InternalRoomCreated(RoomInfos room) { string roomname = room.GetRoomName(); if (m_rooms.ContainsKey(roomname)) { return; } m_rooms.Add(roomname, room); ListBox rooms = (room.isRanked ? RankedList : UnrankedList); //Remove DevBot games if (!room.playerList[0].Trim().ToLower().Equals("devbot")) { rooms.Items.Add(roomname); } }
private void InternalRoomRemoved(string roomname) { if (!m_rooms.ContainsKey(roomname)) { return; } RoomInfos room = m_rooms[roomname]; if (room.isRanked) { RankedList.Items.Remove(roomname); } else { UnrankedList.Items.Remove(roomname); } m_rooms.Remove(roomname); }
// Use this for initialization void Start() { Populate(); roomInfos = JsonUtility.FromJson <RoomInfos>(JSON("rooms.json")); roomInfos.rooms.ToList().ForEach(x => { x.Init(x); //Debug.Log(x.id); }); tileInfos = JsonUtility.FromJson <TileInfos>(JSON("tiles.json")); tileInfos.Tiles.ToList().ForEach(x => { //x.Init(x); //Debug.Log(x.Name); }); Room(12, 12, 8, 8, "Saloon"); }
private void InternalRoomPlayersUpdate(string room, string[] data) { string roomname = room; if (!m_rooms.ContainsKey(roomname)) { return; } RoomInfos item = m_rooms[roomname]; item.playerList = data; if (item.isRanked) { RankedList.UpdateList(); } else { UnrankedList.UpdateList(); } }
private void GameListBox_DrawItem(object sender, DrawItemEventArgs e) { var list = (ListBox)sender; e.DrawBackground(); if (e.Index == -1) { return; } var index = e.Index; var room = list.Items[index].ToString(); var selected = ((e.State & DrawItemState.Selected) == DrawItemState.Selected); var g = e.Graphics; RoomInfos info = null; if (m_rooms.ContainsKey(room)) { info = m_rooms[room]; } //item info string playerstring; if (info == null) { playerstring = "??? vs ???"; } else { bool istag = (info.mode == 2); string[] players = info.playerList; if (players.Length == 0) { playerstring = "??? vs ???"; } else { if (istag) { string player1 = players[0].Trim() + " (" + info.eloList[0].ToString() + ")"; string player2 = (players.Length > 1) ? players[1].Trim() + " (" + info.eloList[1].ToString() + ")" : "???"; string player3 = (players.Length > 2) ? players[2].Trim() + " (" + info.eloList[2].ToString() + ")" : "???"; string player4 = (players.Length > 3) ? players[3].Trim() + " (" + info.eloList[3].ToString() + ")" : "???"; playerstring = player1 + ", " + player2 + " vs " + player3 + ", " + player4; } else { string player1 = players[0].Trim() + " (" + info.eloList[0].ToString() + ")"; string player2 = (players.Length > 1) ? players[1].Trim() + " (" + info.eloList[1].ToString() + ")" : "???"; playerstring = player1 + " vs " + player2; } } } var bounds = list.GetItemRectangle(index); var rulesize = e.Graphics.MeasureString((info == null) ? "???" : RoomInfos.GameRule(info.rule), e.Font); var playersSize = e.Graphics.MeasureString(playerstring, e.Font); var lockedsize = e.Graphics.MeasureString((info == null) ? "???" : (info.isLocked ? Program.LanguageManager.Translation.GameLocked : Program.LanguageManager.Translation.GameOpen), e.Font); SolidBrush backgroundcolor; var offset = new Size(5, 5); if (info == null) { backgroundcolor = new SolidBrush(Color.Red); } else { backgroundcolor = new SolidBrush(info.hasStarted ? Color.LightGray : (info.isIllegal ? Color.LightCoral : (info.mode == 2 ? Color.LightGreen : (info.mode == 1 ? Color.BlanchedAlmond : Color.LightBlue)))); } //draw item g.FillRectangle(backgroundcolor, e.Bounds); g.DrawLines((selected) ? new Pen(Brushes.Purple, 5) : new Pen(Brushes.Black, 5), new[] { new Point(bounds.X, bounds.Y), new Point(bounds.X + bounds.Width, bounds.Y), new Point(bounds.X + bounds.Width, bounds.Y + bounds.Height), new Point(bounds.X, bounds.Y + bounds.Height), new Point(bounds.X, bounds.Y) }); //toplet g.DrawString((info == null) ? "???/???/???" : RoomInfos.GameMode(info.mode) + " / " + LauncherHelper.GetBanListFromInt(info.banListType) + " / " + (info.timer == 0 ? "3 mins" : "5 mins") + (info.rule >= 4 ? "/Prerelease" : ""), e.Font, Brushes.Black, list.GetItemRectangle(index).Location + offset); //topright g.DrawString((info == null) ? "???" : RoomInfos.GameRule(info.rule), e.Font, Brushes.Black, new Rectangle(bounds.X + (bounds.Width - (int)rulesize.Width) - offset.Width, bounds.Y + offset.Height, bounds.Width, bounds.Height)); ////bottomright g.DrawString((info == null) ? "???" : (info.isLocked ? Program.LanguageManager.Translation.GameLocked : Program.LanguageManager.Translation.GameOpen), e.Font, Brushes.Black, new Rectangle(bounds.X + (bounds.Width - (int)lockedsize.Width) - offset.Width, bounds.Y + (bounds.Height - (int)lockedsize.Height) - offset.Height, bounds.Width, bounds.Height)); //bottom center g.DrawString(playerstring, e.Font, Brushes.Black, new Rectangle(bounds.X + ((bounds.Width / 2) - ((int)playersSize.Width / 2)), bounds.Y + (bounds.Height - (int)playersSize.Height) - offset.Height, bounds.Width, bounds.Height)); e.DrawFocusRectangle(); }
public void OnRoomCreated(RoomInfos[] room) { Invoke(new Action<RoomInfos>(InternalRoomCreated), room[0]); }
public void OnRoomPlayersUpdate(RoomInfos data) { if (m_rooms.ContainsKey(data.roomName)) { Invoke(new Action<RoomInfos>(InternalRoomPlayersUpdate), data); } else { Invoke(new Action<RoomInfos>(InternalRoomCreated), data); } }
public void OnRoomsList(RoomInfos[] rooms) { Invoke(new Action<RoomInfos[]>(InternalRoomsList), new object[] { rooms }); }
private void InternalRoomCreated(RoomInfos room) { if (m_rooms.ContainsKey(room.roomName)) return; m_rooms.Add(room.roomName, room); ListBox rooms = (room.isRanked ? RankedList : UnrankedList); if (FilterActive.Checked) { if (!m_rooms[room.roomName].hasStarted) { if (m_rooms[room.roomName].Contains(FilterTextBox.Text.ToLower()) || m_rooms[room.roomName].roomName.ToLower().Contains(FilterTextBox.Text.ToLower()) || FilterTextBox.Text == "Search" || FilterTextBox.Text == "") { rooms.Items.Add(m_rooms[room.roomName].roomName); } } } else { if (m_rooms[room.roomName].Contains(FilterTextBox.Text.ToLower()) || m_rooms[room.roomName].roomName.ToLower().Contains(FilterTextBox.Text.ToLower()) || FilterTextBox.Text == "Search" || FilterTextBox.Text == "") { rooms.Items.Add(m_rooms[room.roomName].roomName); } } UpdateServerInfo(); }
private void InternalRoomPlayersUpdate(RoomInfos data) { if (!m_rooms.ContainsKey(data.roomName)) return; RoomInfos item = m_rooms[data.roomName]; item.playerList = data.playerList; if (item.isRanked) RankedList.UpdateList(); else UnrankedList.UpdateList(); UpdateServerInfo(); }
private void InternalRoomsList(RoomInfos[] rooms) { m_rooms.Clear(); UnrankedList.Items.Clear(); RankedList.Items.Clear(); foreach (RoomInfos room in rooms) { InternalRoomCreated(room); } UpdateServerInfo(); }