Ejemplo n.º 1
0
    private void RefreshCache()
    {
        Int16 actualFieldWidth = FieldMap.PsxFieldWidth;

        if (_knownFieldWidth == actualFieldWidth)
        {
            return;
        }

        _knownFieldWidth = actualFieldWidth;

        if (FieldMap.IsNarrowMap())
        {
            _cachedMinX = _vrpMinX;
            _cachedMaxX = _vrpMaxX;
            _delta      = 0;
            return;
        }

        Int32 desiredDiff = FieldMap.PsxFieldWidth - FieldMap.PsxFieldWidthNative;
        Int32 maxDiff     = _vrpMaxX - _vrpMinX;

        _delta = (Int16)(Math.Min(desiredDiff, maxDiff) / 2);

        _cachedMinX = (Int16)(_vrpMinX + _delta);
        _cachedMaxX = (Int16)(_vrpMaxX - _delta);
    }