private void Update() { if (Input.GetMouseButtonUp(0)) { this.OnMainMouseButtonUp.Invoke(); } if (Input.GetMouseButtonDown(0)) { Vector2 mouseWorldPosition = GetMouseWorldPosition(); RaycastHit2D hit = Physics2D.Raycast(mouseWorldPosition, Vector2.zero); if (hit.collider == null) { return; } } else if (Input.GetMouseButton(0)) { Vector2 mouseWorldPosition = GetMouseWorldPosition(); RaycastHit2D hit = Physics2D.Raycast(mouseWorldPosition, Vector2.zero); if (hit.collider != this.colliderUnderMouse) { if (hit.collider == null) { return; } this.colliderUnderMouse = hit.collider; Milepost milepostUnderMouse = hit.collider.gameObject.GetComponent <Milepost>(); this.OnMouseDraggedOverMilepost.Invoke(milepostUnderMouse); } } }
public override async Task <RouteMilepostResult> Execute() { var requestContract = new MeasureToGeometry.RequestContract { Locations = new[] { new MeasureToGeometry.RequestLocation { Measure = Milepost.ToString(), RouteId = Route } }, OutSr = Options.WkId }; var requestUri = $"{BaseUrl}measureToGeometry{requestContract.QueryString}"; HttpResponseMessage httpResponse; try { httpResponse = await App.HttpClient.GetAsync(requestUri); } catch (Exception ex) { ErrorMessage = ex.Message; return(null); } MeasureToGeometry.ResponseContract response; try { response = await httpResponse.Content.ReadAsAsync <MeasureToGeometry.ResponseContract>(new MediaTypeFormatter[] { new TextPlainResponseFormatter() }); } catch (Exception ex) { ErrorMessage = ex.Message; return(null); } if (!response.IsSuccessful) { return(null); } var result = ProcessResult(response); if (result is null) { return(null); } result.InputRouteMilePost = $"Route {Route} Milepost {Milepost}"; return(result); }
} = new EnumArray <float, Location>(); // milepost location from both ends // //================================================================================================// /// <summary> /// Constructor /// </summary> public TrackCircuitMilepost(Milepost milepost, float nearEnd, float farEnd) { Milepost = milepost; MilepostLocation[Location.NearEnd] = nearEnd; MilepostLocation[Location.FarEnd] = farEnd; }