fix: blow up visible area for camera desync
This commit is contained in:
parent
54d48c9d72
commit
218a1c3d3d
|
@ -4,6 +4,7 @@ import isPlainObject from 'is-plain-object';
|
|||
|
||||
import {compose} from '@avocado/core';
|
||||
import {Trait} from '@avocado/entity';
|
||||
import {Rectangle, Vector} from '@avocado/math';
|
||||
import {Packer, Synchronizer} from '@avocado/state';
|
||||
|
||||
import {KeysPacket, StatePacket} from '../common/packet';
|
||||
|
@ -34,8 +35,16 @@ export class Informed extends decorate(Trait) {
|
|||
const room = this.entity.room;
|
||||
const camera = this.entity.camera;
|
||||
for (const {index, layer} of room.layers) {
|
||||
const position = Rectangle.position(camera.rectangle);
|
||||
const size = Rectangle.size(camera.rectangle);
|
||||
const visibleEntities = layer.visibleEntities(
|
||||
camera.rectangle
|
||||
Rectangle.compose(
|
||||
Vector.sub(
|
||||
position,
|
||||
Vector.scale(size, 0.25),
|
||||
),
|
||||
Vector.scale(size, 1.5),
|
||||
)
|
||||
);
|
||||
let reducedEntityList = I.Map();
|
||||
for (const entity of visibleEntities) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user