perf: various opts
This commit is contained in:
parent
e10bb82682
commit
5f932db5f6
|
@ -142,25 +142,20 @@ export class Informed extends decorate(Trait) {
|
|||
const room = this.entity.room;
|
||||
const camera = this.entity.camera;
|
||||
// Blow up camera rectangle to compensate for camera desync.
|
||||
const position = Rectangle.position(camera.rectangle);
|
||||
const size = Rectangle.size(camera.rectangle);
|
||||
const visibleArea = Rectangle.compose(
|
||||
Vector.sub(
|
||||
position,
|
||||
Vector.scale(size, 0.25),
|
||||
),
|
||||
const visibleArea = Rectangle.expand(
|
||||
camera.rectangle,
|
||||
Vector.scale(size, 1.5),
|
||||
);
|
||||
// Write over entity list for every layer.
|
||||
for (const {index, layer} of room.layers) {
|
||||
const visibleEntities = layer.visibleEntities(visibleArea);
|
||||
let reducedEntityList = I.Map();
|
||||
for (const entity of visibleEntities) {
|
||||
reducedEntityList = reducedEntityList.set(
|
||||
entity.instanceUuid,
|
||||
entity.state,
|
||||
);
|
||||
const reduceEntityListRaw = {};
|
||||
for (let i = 0; i < visibleEntities.length; ++i) {
|
||||
const entity = visibleEntities[i];
|
||||
reduceEntityListRaw[entity.instanceUuid] = entity.state;
|
||||
}
|
||||
let reducedEntityList = I.Map(reduceEntityListRaw);
|
||||
const entityListPath = ['room', 'layers', index, 'entityList'];
|
||||
state = state.setIn(entityListPath, reducedEntityList);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user