rock-mod
Version:
Rock-Mod is a powerful framework designed for creating and managing mods for Grand Theft Auto (GTA) games.
40 lines (39 loc) • 1.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MockWorldObjectsIterator = void 0;
const MockBaseObjectsIterator_1 = require("../baseObject/MockBaseObjectsIterator");
class MockWorldObjectsIterator extends MockBaseObjectsIterator_1.MockBaseObjectsIterator {
constructor(baseObjects) {
super(baseObjects);
}
*dimension(value) {
for (const worldObject of this.all()) {
if (worldObject.dimension === value) {
yield worldObject;
}
}
}
*range2D(center, range) {
const rangeSquared = range * range;
for (const worldObject of this.all()) {
const { position } = worldObject;
const distanceSquared = (center.x - position.x) * (center.x - position.x) + (center.y - position.y) * (center.y - position.y);
if (distanceSquared <= rangeSquared) {
yield worldObject;
}
}
}
*range3D(center, range) {
const rangeSquared = range * range;
for (const worldObject of this.all()) {
const { position } = worldObject;
const distanceSquared = (center.x - position.x) * (center.x - position.x) +
(center.y - position.y) * (center.y - position.y) +
(center.z - position.z) * (center.z - position.z);
if (distanceSquared <= rangeSquared) {
yield worldObject;
}
}
}
}
exports.MockWorldObjectsIterator = MockWorldObjectsIterator;