UNPKG

@rtsdk/lance-topia

Version:

A Node.js based real-time multiplayer game server

22 lines (19 loc) 809 B
import InterpolateStrategy from './syncStrategies/InterpolateStrategy'; import ExtrapolateStrategy from './syncStrategies/ExtrapolateStrategy'; import FrameSyncStrategy from './syncStrategies/FrameSyncStrategy'; const strategies = { extrapolate: ExtrapolateStrategy, interpolate: InterpolateStrategy, frameSync: FrameSyncStrategy }; export default class Synchronizer { // create a synchronizer instance constructor(clientEngine, options) { this.clientEngine = clientEngine; this.options = options || {}; if (!strategies.hasOwnProperty(this.options.sync)) { throw new Error(`ERROR: unknown synchronzation strategy ${this.options.sync}`); } this.syncStrategy = new strategies[this.options.sync](this.clientEngine, this.options); } }