示例#1
0
文件: AreaMapMgr.cs 项目: uvbs/DoR
        public bool IsOnExploreArea(Zone_Area Area, ushort PinX, ushort PinY)
        {
            if (Area == null || Area.Information == null)
            {
                return(false);
            }

            if (!Area.IsOnArea(PinX, PinY))
            {
                return(false);
            }

            CheckArea(Area);

            if (Area.Information.File == null)
            {
                return(false);
            }

            PinX  = (ushort)(PinX / 64);
            PinY  = (ushort)(PinY / 64);
            PinX -= Area.Information.OffsetX;
            PinY -= Area.Information.OffsetY;

            if (PinX >= Area.Information.Width || PinY >= Area.Information.Height || PinX < 0 || PinY < 0)
            {
                //Log.Error("IsOnExplore", "PinX=" + PinX + ",PinY=" + PinY+",ZoneId="+Area.ZoneId+",Piece="+Area.PieceId);
                return(false);
            }

            System.Drawing.Color Col = Area.Information.File.GetPixel(PinX, PinY);
            if (Col.R == 255 && Col.G == 255 && Col.B == 255)
            {
                return(false);
            }

            return(true);
        }