Skip to content

Commit

Permalink
feat: add free camera
Browse files Browse the repository at this point in the history
  • Loading branch information
YXHXianYu committed Dec 28, 2023
1 parent 8677c24 commit 6cc48fa
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions lib/freecamera.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
const EventEmitter = require('events')
const { WorldView } = require('../viewer')

// freecamera is a dict
module.exports = (bot, freecamera, { viewDistance = 4, port = 3000, prefix = '' }) => {
// freecameras is a dict
module.exports = (bot, freecameras, id, { viewDistance = 4, port = 3000, prefix = '' }) => {
const express = require('express')

const app = express()
Expand All @@ -16,7 +16,7 @@ module.exports = (bot, freecamera, { viewDistance = 4, port = 3000, prefix = ''
const sockets = []
const primitives = {}

freecamera = new EventEmitter()
freecameras[id] = new EventEmitter()

io.on('connection', (socket) => {
socket.emit('version', bot.version)
Expand All @@ -35,10 +35,10 @@ module.exports = (bot, freecamera, { viewDistance = 4, port = 3000, prefix = ''
worldView.updatePosition(bot.entity.position)
}

freecamera.on('update', botPosition)
freecameras[id].on('update', botPosition)
worldView.listenToBot(bot)
socket.on('disconnect', () => {
freecamera.removeListener('update', botPosition)
freecameras[id].removeListener('update', botPosition)
worldView.removeListenersFromBot(bot)
sockets.splice(sockets.indexOf(socket), 1)
})
Expand All @@ -48,7 +48,7 @@ module.exports = (bot, freecamera, { viewDistance = 4, port = 3000, prefix = ''
console.log(`Prismarine viewer free camera [id = ${id}] running on *:${port}`)
})

freecamera.close = () => {
freecameras[id].close = () => {
http.close()
for (const socket of sockets) {
socket.disconnect()
Expand Down

0 comments on commit 6cc48fa

Please sign in to comment.