diff --git a/CompleteMoveOnEdge.js b/CompleteMoveOnEdge.js index a66fa03..a785ada 100644 --- a/CompleteMoveOnEdge.js +++ b/CompleteMoveOnEdge.js @@ -29,6 +29,7 @@ class CompleteNodeOnEdgeEngine { this.timer = null; this.lastTime = 0; this.targetInterval = this.time_delay; + this._movementInitialized = false; } setArrivalCallback(callback) { @@ -39,6 +40,10 @@ class CompleteNodeOnEdgeEngine { * Initializes the movement of the nodes on edges. */ initMovement() { + if (this._movementInitialized) { + return; + } + this._movementInitialized = true; // Update the position of the dot node before the redraw event this.network.on('beforeDrawing', (ctx) => { if (this.edgesMoved) { diff --git a/script.js b/script.js index a3c0e05..8016a7e 100644 --- a/script.js +++ b/script.js @@ -299,12 +299,11 @@ document.getElementById('addNode').addEventListener('click', function() { document.getElementById('sendPacket').addEventListener('click', function() { onEdgeEngine.createEdgesTable(); - onEdgeEngine.initMovement(); const packetId = generateRealisticLabel(); - const packetShift = 0; + let packetShift = 0; for (let connection of nodeTable[selectedNode].outgoing) { var movingNode = { - id: packetId + packetShift, + id: `${packetId}-${packetShift}`, label: packetId, shape: 'dot', size: 6,