Esempio n. 1
0
        private void Update()
        {
            var        ray        = _camera.ScreenPointToRay(Input.mousePosition);
            PlanetView planetView = null;
            var        hits       = Physics.RaycastAll(ray);
            var        closest    = hits.OrderBy(hit =>
            {
                var mousePoint = hit.point;
                mousePoint.y   = 0f;
                return(Vector3.Distance(hit.transform.position, mousePoint));
            }).FirstOrDefault();

            if (closest.transform)
            {
                planetView = closest.transform.GetComponent <PlanetView>();
            }
            if (planetView != null)
            {
                planetView.IsUnderCursor = true;
                if (Input.GetMouseButtonDown(0))
                {
                    _shipBehaviour.SetTarget(planetView.PlanetBehaviour);
                }
            }

            _interactionData.CurrentlySelectedPlanet.Value = planetView;
        }