private void ClickToWalk()
        {
            if (mMotor != null)
            {
                InputManagerMediator inputManager = GameFacade.Instance.RetrieveMediator <InputManagerMediator>();
                IGuiManager          guiManager   = GameFacade.Instance.RetrieveMediator <RuntimeGuiManager>();

                Vector3 mousePosition = inputManager.MousePosition;
                if (guiManager.OccludingTopLevels(mousePosition).Count == 0)
                {
                    //ray cast down to where the user clicked and find what was clicked on...
                    // Construct a ray from the current mouse coordinates
                    Ray        rayCastFromCameraIntoWorld = Camera.main.ScreenPointToRay(mousePosition);
                    RaycastHit rayCastHit = new RaycastHit();

                    if (Physics.Raycast(rayCastFromCameraIntoWorld, out rayCastHit, Mathf.Infinity, 1 << GameFacade.GROUND_LAYER))
                    {
                        if (Vector3.Dot(rayCastHit.normal, Vector3.up) > 0.95)
                        {
                            mMotor.AnimateCharacterToPoint(rayCastHit.point);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void CheckIfMouseComplete()
        {
            IGuiManager guiManager = GameFacade.Instance.RetrieveMediator <RuntimeGuiManager>();

            Vector3 mousePosition = mInputManager.MousePosition;

            if (guiManager.OccludingTopLevels(mousePosition).Count == 0)
            {
                //ray cast down to where the user clicked and find what was clicked on...
                // Construct a ray from the current mouse coordinates
                Ray        rayCastFromCameraIntoWorld = Camera.main.ScreenPointToRay(mousePosition);
                RaycastHit rayCastHit = new RaycastHit();

                if (Physics.Raycast(rayCastFromCameraIntoWorld, out rayCastHit, Mathf.Infinity, 1 << GameFacade.GROUND_LAYER))
                {
                    TutorialCompleteWait();
                }
            }
        }