Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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;
        }