refactor: Synchronizer

This commit is contained in:
cha0s 2019-04-07 21:04:34 -04:00
parent bf05af3a0f
commit a618ebd9cb
3 changed files with 11 additions and 11 deletions

View File

@ -5,7 +5,7 @@ import {ActionRegistry} from '@avocado/input';
import {Stage} from '@avocado/graphics';
import {Vector} from '@avocado/math';
import {World} from '@avocado/physics/matter/world';
import {StateSynchronizer, Unpacker} from '@avocado/state';
import {Synchronizer, Unpacker} from '@avocado/state';
import {Room, RoomView} from '@avocado/topdown';
import {clearAnimation, setAnimation} from '@avocado/timing';
// 1st party.
@ -46,7 +46,7 @@ const worldTime = new WorldTime();
let lastWorldTime = worldTime.humanReadable();
// Synchronize state.
let state = undefined;
const stateSynchronizer = new StateSynchronizer({
const synchronizer = new Synchronizer({
room,
worldTime,
});
@ -160,9 +160,9 @@ const predictionHandle = setInterval(() => {
selfEntity.inputState = actionState.toJS();
}
// Tick synchronized.
stateSynchronizer.tick(elapsed);
dirty = dirty || stateSynchronizer.state !== state;
state = stateSynchronizer.state;
synchronizer.tick(elapsed);
dirty = dirty || synchronizer.state !== state;
state = synchronizer.state;
// Apply environmental lighting.
stage.removeAllFilters();
let intensity = 0;
@ -193,7 +193,7 @@ function onMessage({type, payload}) {
selfEntity = value;
}
}
stateSynchronizer.patchState(patch);
synchronizer.patchState(patch);
dirty = true;
break;
default:

View File

@ -3,7 +3,7 @@ import {performance} from 'perf_hooks';
// 3rd party.
import immutablediff from 'immutablediff';
// 2nd party.
import {StateSynchronizer} from '@avocado/state';
import {Synchronizer} from '@avocado/state';
// 1st party.
import {WorldTime} from '../common/world-time';
import {createEntityForConnection} from './create-entity-for-connection';
@ -20,7 +20,7 @@ const worldTime = new WorldTime();
worldTime.hour = 10;
// Entity tracking.
const informables = [];
const stateSynchronizer = new StateSynchronizer({
const synchronizer = new Synchronizer({
room,
worldTime,
});
@ -70,10 +70,10 @@ function createMainLoop() {
const elapsed = (now - lastTime) / 1000;
lastTime = now;
// Tick synchronized.
stateSynchronizer.tick(elapsed);
synchronizer.tick(elapsed);
// Inform entities of the new state.
for (const entity of informables) {
entity.inform(stateSynchronizer.state);
entity.inform(synchronizer.state);
}
}
}

View File

@ -4,7 +4,7 @@ import isPlainObject from 'is-plain-object';
import {compose} from '@avocado/core';
import {Trait} from '@avocado/entity';
import {Packer, StateSynchronizer} from '@avocado/state';
import {Packer, Synchronizer} from '@avocado/state';
const decorate = compose(
);