Esempio n. 1
0
        public void updateterrian(int CurrentX, int CurrentY, bool force, bool quiet)
        {
            // Scans new terrian and moves life around if we need.
            //  Scan new terrian.. we pass in X and Y as our TV corrdinates.
            //  We need to make them relative to the map's array coordinates. So, we add the total dimension of the
            //  big maps size, to our TV.X and TV.Y corros.. because, TV.X and TV.Y have there 0,0 spot smack in the middle
            //  of the map. So, a TV.X of -1 would equal [the total map size x / 2 (middle x in the map)] - 1, for one space to the
            //  left.
            Point curpt = new Point();

            curpt.X = CurrentX;
            curpt.Y = CurrentY;

            if (MathFunctions.findDistance(lastCenter, curpt) > 5.0F)
            {
                OuterSpace.thisPlanet.planetpoly.startSphere.scanNewterrian(cnvtX(OuterSpace.TV.X), cnvtY(OuterSpace.TV.Y), true);
                lastCenter.Y = (int)(OuterSpace.TV.Y);
                lastCenter.X = (int)(OuterSpace.TV.X);

                if (!quiet)
                {
                    OuterSpace.msgbox.pushmsgs("Scan New Terrian " + "X:" +
                                               ((int)(OuterSpace.TV.X)).ToString() +
                                               " Y:" + ((int)(OuterSpace.TV.Y)).ToString());
                }
            }
        }
Esempio n. 2
0
        private void handleMouse()
        {
            Point pointingAt   = new Point();
            Point resizeCenter = new Point();
            Point newMapArea   = new Point();

            resizeCenter.Y = (int)mapArea[1].Y + resizeButton.sourceFrame[0].Height / 2;
            resizeCenter.X = (int)mapArea[0].X + resizeButton.sourceFrame[0].Width / 2;

            if (OuterSpace.userinput.mousexpos > mapArea[0].X & OuterSpace.userinput.mouseypos < mapArea[1].Y)
            {
                pointingAt.X = (int)MathFunctions.scaleValue(OuterSpace.userinput.mousexpos, mapArea[1].X, mapArea[0].X, 250, 0);
                pointingAt.Y = (int)MathFunctions.scaleValue(mapArea[1].Y - OuterSpace.userinput.mouseypos, mapArea[1].Y, mapArea[0].Y, 250, 0);
                OuterSpace.textfont.DrawText(OuterSpace.userinput.mousexpos - 60, OuterSpace.userinput.mouseypos - 8, Color.LimeGreen, "X:" + pointingAt.X.ToString("0.0"));
                OuterSpace.textfont.DrawText(OuterSpace.userinput.mousexpos - 60, OuterSpace.userinput.mouseypos + 8, Color.LimeGreen, "Y:" + pointingAt.Y.ToString("0.0"));
            }

            pointingAt.X = OuterSpace.userinput.mousexpos;
            pointingAt.Y = OuterSpace.userinput.mouseypos;

            if (MathFunctions.findDistance(resizeCenter, pointingAt) > resizeButton.sourceFrame[0].Width / 2)
            {
                resizeButtonColor = Color.FromArgb(75, 255, 255, 255);
            }
            else
            {
                resizeButtonColor = Color.White;
                if (OuterSpace.userinput.CheckButton("Left", false))
                {
                    resizing = true;
                }
            }

            if (resizing)
            {
                if (OuterSpace.userinput.CheckButton("Left", false))
                {
                    newMapArea.X = mapArea[0].X + OuterSpace.userinput.mousexpos - resizeCenter.X;
                    newMapArea.Y = mapArea[1].Y + OuterSpace.userinput.mouseypos - resizeCenter.Y;
                    resizeMap(newMapArea);
                    return;
                }
                else
                {
                    resizing = false;
                }
            }
        }