PixelToZoneCoord() public static method

public static PixelToZoneCoord ( int pixel ) : int
pixel int
return int
示例#1
0
文件: frmMain.cs 项目: Venseer/tools
        private void pctWorldMap_MouseMove(object sender, MouseEventArgs e)
        {
            int ZoneX = Display.PixelToZoneCoord(e.X);
            int ZoneY = Display.PixelToZoneCoord(e.Y);

            Point ZoneCoords = new Point(ZoneX, ZoneY);

            toolStripStatusLabelMouseCoords.Text = "| Coords: " + e.X.ToString() + ", " + e.Y.ToString();
            toolStripStatusLabelZoneCoords.Text  = "Zone: " + ZoneCoords.X.ToString() + ", " + ZoneCoords.Y.ToString();
            toolStripStatusLabelGameCoords.Text  = "Game Coords: " + Display.PixelToGameCoords(e.X).ToString() + ", " + Display.PixelToGameCoords(e.Y).ToString();

            if (AddLocation.Selected)
            {
                AddLocation.Loc.X          = Display.PixelToGameCoords(e.X);
                AddLocation.Loc.Y          = Display.PixelToGameCoords(e.Y);
                AddLocation.Loc.OnWorldmap = true;
                AddLocation.Loc.Modified   = true;
                pctWorldMap.Refresh();
            }

            if (Control.MouseButtons == MouseButtons.Left)
            {
                if (AnyBrushModeEnabled())
                {
                    worldmap.SetSelectedZone(ZoneX, ZoneY);
                }

                if (toolbtnClone.Checked)
                {
                    ReplaceSelectedZone(PaintZone, ICopyParams);
                    RefreshZoneProperties();
                }

                if (toolbtnErase.Checked)
                {
                    if (worldmap.ModifySelectedZoneWithBrush(BrushOptions.Groups, BrushOptions.Locations, BrushOptions.Flags, false, 0))
                    {
                        RefreshZoneProperties();
                    }
                }

                if (toolbtnBrush.Checked)
                {
                    int chance = 0;
                    if ((BrushOptions.OverwriteChance))
                    {
                        chance = BrushOptions.EncounterChance;
                    }
                    if (worldmap.ModifySelectedZoneWithBrush(BrushOptions.Groups, BrushOptions.Locations, BrushOptions.Flags, true, chance))
                    {
                        RefreshZoneProperties();
                    }
                }

                //if (AnyBrushModeEnabled())
                //    RefreshZoneProperties();
            }

            if (!Config.ShowTooltip || AddLocation.Selected)
            {
                return;
            }

            if (DrawToolTip)
            {
                int    x         = e.X + 15;
                int    y         = e.Y + 15;
                string str       = (string)LocationToolTip.Tag.ToString();
                int    strlength = str.Length;

                if ((Cursor.Position.X + (strlength * 4)) > Screen.PrimaryScreen.Bounds.Width)
                {
                    x -= ((Cursor.Position.X + (strlength * 4)) - Screen.PrimaryScreen.Bounds.Width);
                }
                if ((x != ToolTipLast.X) || (y != ToolTipLast.Y))
                {
                    LocationToolTip.Show((string)LocationToolTip.Tag, pctWorldMap, x, y, 100000);
                    ToolTipLast.X = x;
                    ToolTipLast.Y = y;
                }
            }

            MouseZoneLocation = ZoneCoords;

            if (worldmap == null)
            {
                return;
            }

            Location Loc = worldmap.GetLocation(Display.PixelToGameCoords(e.X), Display.PixelToGameCoords(e.Y));

            if (Loc != null && Loc.OnWorldmap)
            {
                LocationToolTip.Tag = Loc.Name + " (" + Loc.Pid + ")" + Environment.NewLine + Loc.WorldMapDescription
                                      + Environment.NewLine + (Loc.Visible ? "Visible: Yes" : "Visible: No");
                LocationToolTip.UseFading = true;
                DrawToolTip = true;
            }
            else
            {
                LocationToolTip.Hide(pctWorldMap);
                DrawToolTip = false;
                return;
            }
        }
示例#2
0
文件: frmMain.cs 项目: Venseer/tools
        private void pctWorldMap_MouseClick(object sender, MouseEventArgs e)
        {
            if (worldmap == null)
            {
                return;
            }

            this.ActiveControl = null;

            if (Config.ScriptingEnabled)
            {
                if (Scripting.Host.ScriptHost.worldmap_coords_clicked(e, e.X, e.Y))
                {
                    return;
                }
            }

            if (e.Button == MouseButtons.Right)
            {
                if (AddLocation.Loc != null)
                {
                    AddLocation.Selected       = false;
                    AddLocation.Loc.OnWorldmap = false;
                    AddLocation.Loc            = null;
                }
                worldmap.SetSelectedZone(-1, -1);
                pctWorldMap.Focus();
                pctWorldMap.Refresh();
                ChangeEnableStateOfZonePropertyControls(false);
                RefreshZoneProperties();
                return;
            }

            if (e.Button == MouseButtons.Left)
            {
                if (AddLocation.Selected)
                {
                    AddLocation.Loc.X          = Display.PixelToGameCoords(e.X);
                    AddLocation.Loc.Y          = Display.PixelToGameCoords(e.Y);
                    AddLocation.Loc.OnWorldmap = true;
                    AddLocation.Loc.Modified   = true;
                    AddLocation.Selected       = false;
                    AddLocation.Loc            = null;
                }
                else
                {
                    int ZoneX = Display.PixelToZoneCoord(e.X);
                    int ZoneY = Display.PixelToZoneCoord(e.Y);

                    if (Config.ScriptingEnabled)
                    {
                        if (Scripting.Host.ScriptHost.zone_activated(ZoneX, ZoneY))
                        {
                            return;
                        }
                    }

                    worldmap.SetSelectedZone(ZoneX, ZoneY);
                    ChangeEnableStateOfZonePropertyControls(true);
                    RefreshZoneProperties();
                    pctWorldMap.Refresh();
                }
            }
        }
        private void pctWorldMap_MouseClick(object sender, MouseEventArgs e)
        {
            if (worldmap == null)
            {
                return;
            }

            this.ActiveControl = null;

            if (Config.ScriptingEnabled)
            {
                if (Scripting.Host.ScriptHost.worldmap_coords_clicked(e, e.X, e.Y))
                {
                    return;
                }
            }

            if (e.Button == MouseButtons.Right)
            {
                if (AddLocation.Loc != null)
                {
                    AddLocation.Selected       = false;
                    AddLocation.Loc.OnWorldmap = false;
                    AddLocation.Loc            = null;
                }
                worldmap.SetSelectedZone(-1, -1);
                pctWorldMap.Focus();
                pctWorldMap.Refresh();
                ChangeEnableStateOfZonePropertyControls(false);
                RefreshZoneProperties();
                return;
            }

            if (e.Button == MouseButtons.Left)
            {
                if (AddLocation.Selected)
                {
                    AddLocation.Loc.X          = Display.PixelToGameCoords(e.X);
                    AddLocation.Loc.Y          = Display.PixelToGameCoords(e.Y);
                    AddLocation.Loc.OnWorldmap = true;
                    AddLocation.Loc.Modified   = true;
                    AddLocation.Selected       = false;
                    AddLocation.Loc            = null;
                }
                else
                {
                    int ZoneX = Display.PixelToZoneCoord(e.X);
                    int ZoneY = Display.PixelToZoneCoord(e.Y);

                    if (Config.ScriptingEnabled)
                    {
                        if (Scripting.Host.ScriptHost.zone_activated(ZoneX, ZoneY))
                        {
                            return;
                        }
                    }

                    worldmap.SetSelectedZone(ZoneX, ZoneY);
                    ChangeEnableStateOfZonePropertyControls(true);
                    RefreshZoneProperties();
                    pctWorldMap.Refresh();
                }

                if (checkBox2.Checked == true)
                {
                    IExtZone    zone  = (IExtZone)worldmap.GetSelectedZone();
                    frmAddGroup group = new frmAddGroup(worldmap.GroupParser.GetGroups(), zone.EncounterGroups);
                    group.ShowDialog();
                    //group.Show();
                    if (group.SelectedGroups.Count == 0)
                    {
                        return;
                    }

                    if (zone.EncounterGroups == null)
                    {
                        zone.EncounterGroups = new List <EncounterZoneGroup>();
                    }

                    zone.EncounterGroups.AddRange(group.SelectedGroups);
                    zone.Modified = true;
                    RefreshGroupList();
                }
            }
        }