mirror of
https://github.com/wu736139669/ASHEBShop-h5.git
synced 2026-10-07 19:26:23 +00:00
63 lines
1.4 KiB
JavaScript
63 lines
1.4 KiB
JavaScript
import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
|
|
import _createClass from 'babel-runtime/helpers/createClass';
|
|
|
|
/**
|
|
* A section of the Window.
|
|
* Window Sections are used to group nearby cells.
|
|
* This enables us to more quickly determine which cells to display in a given region of the Window.
|
|
* Sections have a fixed size and contain 0 to many cells (tracked by their indices).
|
|
*/
|
|
var Section = function () {
|
|
function Section(_ref) {
|
|
var height = _ref.height,
|
|
width = _ref.width,
|
|
x = _ref.x,
|
|
y = _ref.y;
|
|
|
|
_classCallCheck(this, Section);
|
|
|
|
this.height = height;
|
|
this.width = width;
|
|
this.x = x;
|
|
this.y = y;
|
|
|
|
this._indexMap = {};
|
|
this._indices = [];
|
|
}
|
|
|
|
/** Add a cell to this section. */
|
|
|
|
|
|
_createClass(Section, [{
|
|
key: 'addCellIndex',
|
|
value: function addCellIndex(_ref2) {
|
|
var index = _ref2.index;
|
|
|
|
if (!this._indexMap[index]) {
|
|
this._indexMap[index] = true;
|
|
this._indices.push(index);
|
|
}
|
|
}
|
|
|
|
/** Get all cell indices that have been added to this section. */
|
|
|
|
}, {
|
|
key: 'getCellIndices',
|
|
value: function getCellIndices() {
|
|
return this._indices;
|
|
}
|
|
|
|
/** Intended for debugger/test purposes only */
|
|
|
|
}, {
|
|
key: 'toString',
|
|
value: function toString() {
|
|
return this.x + ',' + this.y + ' ' + this.width + 'x' + this.height;
|
|
}
|
|
}]);
|
|
|
|
return Section;
|
|
}(); /** @rlow */
|
|
|
|
|
|
export default Section; |