diff --git a/src/actions/index.js b/src/actions/index.js index e2792f9..b3186ca 100644 --- a/src/actions/index.js +++ b/src/actions/index.js @@ -358,11 +358,18 @@ export function receiveCoolDown( }; } +/* + * draw pixel on canvas + * @param i, j, offset Chunk and offset in chunk + * @param color integer Color Index + * @param notify Bool if pixel notification appears (false when my own pixel) + */ export function updatePixel( i, j, offset, color, + notify = true, ) { return { type: 'UPDATE_PIXEL', @@ -370,6 +377,7 @@ export function updatePixel( j, offset, color, + notify, }; } diff --git a/src/actions/types.js b/src/actions/types.js index c580329..3c6ee86 100644 --- a/src/actions/types.js +++ b/src/actions/types.js @@ -55,6 +55,7 @@ export type Action = j: number, offset: number, color: ColorIndex, + notify: boolean, } | { type: 'RECEIVE_ONLINE', online: number } | { type: 'RECEIVE_CHAT_MESSAGE', diff --git a/src/socket/SocketServer.js b/src/socket/SocketServer.js index 7d803f7..b68c71f 100644 --- a/src/socket/SocketServer.js +++ b/src/socket/SocketServer.js @@ -320,6 +320,7 @@ class SocketServer { } client = it.next(); } + console.log(online); socketEvents.broadcastOnlineCounter(online); } diff --git a/src/store/rendererHook.js b/src/store/rendererHook.js index ffca3aa..fb356cc 100644 --- a/src/store/rendererHook.js +++ b/src/store/rendererHook.js @@ -101,9 +101,10 @@ export default (store) => (next) => (action) => { j, offset, color, + notify, } = action; const renderer = getRenderer(); - renderer.renderPixel(i, j, offset, color); + renderer.renderPixel(i, j, offset, color, notify); break; } diff --git a/src/ui/Renderer2D.js b/src/ui/Renderer2D.js index acfa473..536c8bc 100644 --- a/src/ui/Renderer2D.js +++ b/src/ui/Renderer2D.js @@ -236,6 +236,7 @@ class Renderer { j: number, offset: number, color, + notify, ) { const state = this.store.getState(); const { @@ -263,7 +264,9 @@ class Renderer { context.fillStyle = palette.colors[color]; context.fillRect(px, py, scaleM, scaleM); - pixelNotify.addPixel(x, y); + if (notify) { + pixelNotify.addPixel(x, y); + } this.forceNextSubrender = true; } diff --git a/src/ui/placePixel.js b/src/ui/placePixel.js index 94f35c0..55873d0 100644 --- a/src/ui/placePixel.js +++ b/src/ui/placePixel.js @@ -114,7 +114,7 @@ function revertPredictionsAt( while (p < clientPredictions.length) { const [i, j, offset, color] = clientPredictions[p]; - store.dispatch(updatePixel(i, j, offset, color)); + store.dispatch(updatePixel(i, j, offset, color, false)); p += 1; } @@ -129,7 +129,7 @@ export function tryPlacePixel( color, curColor, ) { - store.dispatch(updatePixel(i, j, offset, color)); + store.dispatch(updatePixel(i, j, offset, color, false)); clientPredictions.push([i, j, offset, curColor, color]); if (pixelQueue.length) {