private bool PlayerMovementCheck(char direction)
    {
        bool pass = false;

        switch (direction)
        {
        case 'n':
            pass = NorthMovement();
            break;

        case 's':
            pass = SouthMovement();
            break;

        case 'e':
            pass = EastMovement();
            break;

        case 'w':
            pass = WestMovement();
            break;

        default:
            Debug.Log("Error, invalid direction supplied");
            break;
        }
        if (pass)
        {
            vision.CalculatePlayerVisibility(playerTile);
            CheckForLaser(playerTile);
            CheckForTroll(playerTile);
        }
        return(pass);
    }
 public void StartUp(Tile p_playerTile, Grid p_grid)
 {
     movements = new List <bool>()
     {
         false, false, false, false
     };
     rotations = new List <Vector3>()
     {
         new Vector3(0.0f, 0.0f, 0.0f), new Vector3(0.0f, 0.0f, 180.0f), new Vector3(0.0f, 0.0f, -90.0f), new Vector3(0.0f, 0.0f, 90.0f)
     };
     playerTile = p_playerTile;
     grid       = p_grid;
     playerTile.obj.GetComponent <SpriteRenderer>().sprite = playerSprite;
     vision = new Vision(grid, playerTile.obj.GetComponent <SpriteRenderer>().sprite);
     playerCam.GetComponent <CameraFollow>().SetTarget(playerTile.obj.GetComponent <Transform>());
     vision.CalculatePlayerVisibility(playerTile);
     playerTile.obj.GetComponent <SpriteRenderer>().color = Color.yellow;
 }