private void PropogateParameters(ParamSnapshot paramSnapshot) { myDataContext.TargetDistance = paramSnapshot.GetValue(TargetDistanceKb); myDataContext.TargetBearing = paramSnapshot.GetValue(TargetBearingInGrad); myDataContext.MyCourseInGrad = paramSnapshot.GetValue(OurCourseInGrad); myDataContext.MySpeedInKnot = paramSnapshot.GetValue(OurSpeedInKnot); OurSpeedInKnot.Text = paramSnapshot.GetValue(OurSpeedInKnot).ToString(CultureInfo.InvariantCulture); OurCourseInGrad.Text = paramSnapshot.GetValue(OurCourseInGrad).ToString(CultureInfo.InvariantCulture); }
private void InitBattleField() { MyPreviousSnapshot = new ParamSnapshot(this); var targetBearing = TargetBearingInGrad.Text != "" ? double.Parse(TargetBearingInGrad.Text, CultureInfo.InvariantCulture) : 0; var targetDistance = TargetDistanceKb.Text != "" ? double.Parse(TargetDistanceKb.Text, CultureInfo.InvariantCulture) : 0; var targetSpeedInKnot = TargetSpeedInKnot.Text != "" ? double.Parse(TargetSpeedInKnot.Text, CultureInfo.InvariantCulture) : 0; var targetCourseInGrad = TargetCourseInGrad.Text != "" ? double.Parse(TargetCourseInGrad.Text, CultureInfo.InvariantCulture) : 0; var speedInKnot = OurSpeedInKnot.Text != "" ? double.Parse(OurSpeedInKnot.Text, CultureInfo.InvariantCulture) : 0; var theCourse = OurCourseInGrad.Text != "" ? double.Parse(OurCourseInGrad.Text, CultureInfo.InvariantCulture) : 0; var theDepth = OurDepthInMeters.Text != "" ? double.Parse(OurDepthInMeters.Text, CultureInfo.InvariantCulture) : 0; var targetX = targetDistance * Math.Sin(Utils.DegreeToRadian(targetBearing)); var targetY = targetDistance * Math.Cos(Utils.DegreeToRadian(targetBearing)); myTargetShip = new Ship(targetX, targetY, targetSpeedInKnot / 360, targetCourseInGrad, theDepth, myDataContext.MyAccelerationInKnotSec / 360, myDataContext.MyAngularVelocityInGradSec, myDataContext.MyDepthChangeInMetersSec); myShip = new Ship(0, 0, speedInKnot / 360, theCourse, theDepth, myDataContext.MyAccelerationInKnotSec / 360, myDataContext.MyAngularVelocityInGradSec, myDataContext.MyDepthChangeInMetersSec); Redraw(); }