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()); } } }
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; } } }