/// <summary>
    /// MONOBEHAVIOUR Start
    /// </summary>
    void Start()
    {
        GridRepository gridRepository = GridRepository.Instance;

        coordinates     = gridRepository.GridCoordinatesFromPosition(transform.position);
        detectionSample = gridRepository.GetUnboundedGridSample(coordinates.x - 1, coordinates.y - 1, 3, 3);
        obstacleSample  = new bool[3, 3];
        UpdateObstacleSample();
    }
    /// <summary>
    /// Updates the coordinates of the entity, also updating collision detection information if necessary.
    /// </summary>
    private void UpdateCoordinates()
    {
        GridRepository gridRepository = GridRepository.Instance;

        Vector3        position            = transform.position;
        CoordinatePair adjustedCoordinates = gridRepository.GridCoordinatesFromPosition(position);

        if (!coordinates.Equals(adjustedCoordinates))
        {
            coordinates = adjustedCoordinates;
            UpdateCollisionInformation();
        }
    }