private static void SharedLabel(Packet p) { bool toremove = p.ReadBool(); short x = (short)p.ReadUShort(); short y = (short)p.ReadUShort(); byte map = p.ReadByte(); if (toremove) { UserObject user = RenderObjectsManager.GetUser(p.ReadASCII(p.ReadByte())); SharedLabelObject label = RenderObjectsManager.Get <SharedLabelObject>().FirstOrDefault(s => s.Parent == user && s.Position.X == x && s.Position.Y == y && s.Map == map); label?.Dispose(); UOClientManager.SysMessage(string.Format("[SharedLabel][{0}] Removed a shared label!", user.Name), 83); } else { string description = p.ReadASCII(p.ReadByte()); string username = p.ReadASCII(p.ReadByte()); UserObject user = RenderObjectsManager.GetUser(username); if (user == null) { RenderObjectsManager.AddUser(user = new UserObject(username)); } RenderObjectsManager.AddSharedLabel(new SharedLabelObject(user, x, y, map, description)); UOClientManager.SysMessage(string.Format("[SharedLabel][{0}] Added a shared label!", user.Name), 83); } }
static NetworkManager() { SocketClient = new SocketClient(); SocketClient.Disconnected += (sender, e) => { RenderObjectsManager.Get <UserObject>().Where(s => !(s is PlayerObject)).ToList().ForEach(s => s.Dispose()); RenderObjectsManager.Get <SharedLabelObject>().ToList().ForEach(s => s.Dispose()); }; _TimerReconnect = TimerManager.Create(5000, 5000, () => { if (!SocketClient.IsConnected) { Connect(); } }, false); }
public PlacesEditorF() { InitializeComponent(); Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath); MaximumSize = MinimumSize = Size; Text = "Places Editor"; textX.KeyPress += (sender, e) => { if (!char.IsNumber(e.KeyChar) && (Keys)e.KeyChar != Keys.Back) { e.Handled = true; } }; textY.KeyPress += (sender, e) => { if (!char.IsNumber(e.KeyChar) && (Keys)e.KeyChar != Keys.Back) { e.Handled = true; } }; ComboBoxCategory.SelectedIndexChanged += (sender, e) => { customFlatButtonAdd.Enabled = ComboBoxCategory.SelectedText != FilesManager.BuildSets[ComboBoxCategory.SelectedIndex].Name; PictureBox1.Image = FilesManager.BuildSets[ComboBoxCategory.SelectedIndex].Image; }; FilesManager.BuildSets.ForEach(s => ComboBoxCategory.Items.Add(s.Name)); Global.Maps.ForEach(s => ComboBoxFacet.Items.Add(s.Name)); if (Global.Maps.Length > 2 && Global.Maps[0]?.Name.ToLower() == "felucca" && Global.Maps[1]?.Name.ToLower() == "trammel") { ComboBoxFacet.Items.Add("Fel/Tram"); } customFlatButtonCancel.Click += (sender, e) => { if (customFlatButtonAdd.Tag is BuildingEntry build) { build.Parent.Entries.Remove(build); BuildingObject buildingObj = RenderObjectsManager.Get <BuildingObject>().FirstOrDefault(s => s.Entry == build); if (buildingObj != null) { buildingObj.Dispose(); } Close(); } else if (customFlatButtonAdd.Tag is HouseEntry house) { HouseObject houseObj = RenderObjectsManager.Get <HouseObject>().FirstOrDefault(s => s.Entry == house); if (houseObj != null) { houseObj.Dispose(); } FilesManager.Houses.Remove(house); Close(); } else if (customFlatButtonAdd.Tag is null) { } }; customFlatButtonAdd.Click += (sender, e) => { if (customFlatButtonAdd.Tag is BuildingEntry build) { build.Description = textDescription.Text; build.Location.X = textX.Text.ToShort(); build.Location.Y = textY.Text.ToShort(); int facet = ComboBoxFacet.SelectedIndex; if (Global.Maps.Length > 2 && Global.Maps[0]?.Name.ToLower() == "felucca" && Global.Maps[1]?.Name.ToLower() == "trammel") { if (facet == 6) { facet = 7; } } build.Map = facet; build.Parent.Entries.Remove(build); build.Parent = FilesManager.BuildSets[ComboBoxCategory.SelectedIndex]; FilesManager.BuildSets[ComboBoxCategory.SelectedIndex].Entries.Add(build); build.IsEnabled = true; RenderObjectsManager.AddBuilding(new BuildingObject(build)); Close(); } else if (customFlatButtonAdd.Tag is HouseEntry house) { } else if (customFlatButtonAdd.Tag is null) { int facet = ComboBoxFacet.SelectedIndex; if (Global.Maps.Length > 2 && Global.Maps[0]?.Name.ToLower() == "felucca" && Global.Maps[1]?.Name.ToLower() == "trammel") { if (facet == 6) { facet = 7; } } BuildingEntry entry = new BuildingEntry(FilesManager.BuildSets[ComboBoxCategory.SelectedIndex], textDescription.Text, new Position(textX.Text.ToShort(), textY.Text.ToShort()), facet); FilesManager.BuildSets[ComboBoxCategory.SelectedIndex].Entries.Add(entry); entry.IsEnabled = true; RenderObjectsManager.AddBuilding(new BuildingObject(entry)); Close(); } }; textX.Text = MouseManager.Location.X.ToString(); textY.Text = MouseManager.Location.Y.ToString(); ComboBoxFacet.SelectedIndex = Global.Facet; }