Exemplo n.º 1
0
    // Update is called once per frame
    void Update( )
    {
        var clampedx = Mathf.Clamp(Input.mousePosition.x, 0f, ( float )(cam.pixelWidth - 1));
        var clampedy = Mathf.Clamp(Input.mousePosition.y, 0f, ( float )(cam.pixelHeight - 1));

        RaycastHit hit;
        var        ray    = cam.ScreenPointToRay(new Vector3(clampedx, clampedy, 500f));
        var        result = Physics.Raycast(ray, out hit);

        if (result)
        {
            GridPos = world.ConvertWorldPosToGrid(hit.point);
        }

        if (Input.GetMouseButtonDown(0))
        {
            var DidBuild = world.BuildObjectAtLocation(GridPos, state.CurrentBlueprint);

            if (DidBuild)
            {
                state.ProgressRound(state.CurrentBlueprint);
            }
        }
    }