public void FillPosRect(int ix, int iz)
    {
        SceneEntityPosRect entityRect;
        IntVector2         idx = IntVector2.Tmp;

        idx.x = ix;
        idx.y = iz;
        if (!_entityRects.TryGetValue(idx, out entityRect))
        {
            int        cntNpc     = SceneEntityPosRect.EntityNpcNum;
            int        cntMonster = SceneEntityPosRect.EntityMonsterNum;
            IntVector2 key        = new IntVector2(ix, iz);
            if (!_posRectNpcCnt.TryGetValue(key, out cntNpc))
            {
                cntNpc = SceneEntityPosRect.EntityNpcNum;
                _posRectNpcCnt[key] = cntNpc;
            }
            if (SceneEntityPosRect.EntityNpcNum != 0 && Mathf.Abs(ix) > 16 || Mathf.Abs(iz) > 16)                       // Add limitation on npc's count
            {
                cntNpc = 0;
            }

            entityRect = new SceneEntityPosRect(ix, iz);
            entityRect.Fill(cntNpc, cntMonster);
            _entityRects[key] = entityRect;
        }
    }