public KethaneDeposit GetDepositUnder() { if (!PlanetDeposits.ContainsKey(Vessel.mainBody.name)) { return(null); } KethaneDeposits Deposits = KethaneController.PlanetDeposits[Vessel.mainBody.name]; double lon = Misc.clampDegrees(Vessel.mainBody.GetLongitude(Vessel.transform.position)); double lat = Vessel.mainBody.GetLatitude(Vessel.transform.position); double x = Math.Round((lon + 180d) * (Deposits.Width / 360d)); double y = Math.Round(((90d - lat) * (Deposits.Height / 180d))); Vector3 PointUnder = new Vector3((float)x, 0, (float)y); return(Deposits.GetDepositOver(PointUnder)); }
private void DrawDebugMap() { if (vessel.mainBody != null) { for (int y = 0; y < DebugTex.height; y++) { for (int x = 0; x < DebugTex.width; x++) { DebugTex.SetPixel(x, y, Color.black); } } KethaneDeposits Deposits = KethaneController.PlanetDeposits[this.vessel.mainBody.name]; float Width = Deposits.Width; float Height = Deposits.Height; foreach (KethaneDeposit KD in Deposits.Deposits) { for (int k = 0; k < KD.Vertices.Count - 1; k++) { Point p = (KD.Vertices[k] / Width) * DebugTex.width; Point p2 = (KD.Vertices[k + 1] / Height) * DebugTex.height; Line(DebugTex, (int)p.x, DebugTex.height - (int)p.y, (int)p2.x, DebugTex.height - (int)p2.y); } } if (this.vessel != null) { int x = Misc.GetXOnMap(Misc.clampDegrees(vessel.mainBody.GetLongitude(vessel.transform.position)), DebugTex.width); int y = Misc.GetYOnMap(vessel.mainBody.GetLatitude(vessel.transform.position), DebugTex.height); DebugTex.SetPixel(x, y, Color.white); } DebugTex.Apply(); } }