@tsparticles/path-grid 4.0.5 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/GridPathGenerator.js +11 -11
- package/browser/index.js +1 -1
- package/browser/index.lazy.js +1 -1
- package/cjs/GridPathGenerator.js +11 -11
- package/cjs/index.js +1 -1
- package/cjs/index.lazy.js +1 -1
- package/esm/GridPathGenerator.js +11 -11
- package/esm/index.js +1 -1
- package/esm/index.lazy.js +1 -1
- package/package.json +3 -3
- package/tsparticles.path.grid.js +13 -13
- package/tsparticles.path.grid.min.js +1 -1
- package/types/GridPathGenerator.d.ts +1 -3
|
@@ -7,11 +7,11 @@ const dirs = [
|
|
|
7
7
|
], opposite = [2, 3, 0, 1], minLength = 0;
|
|
8
8
|
export class GridPathGenerator {
|
|
9
9
|
options;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
#container;
|
|
11
|
+
#res;
|
|
12
12
|
constructor(container) {
|
|
13
|
-
this
|
|
14
|
-
this
|
|
13
|
+
this.#container = container;
|
|
14
|
+
this.#res = Vector.origin;
|
|
15
15
|
this.options = {
|
|
16
16
|
cellSize: 40,
|
|
17
17
|
graph: undefined,
|
|
@@ -47,21 +47,21 @@ export class GridPathGenerator {
|
|
|
47
47
|
p.velocity.x = 0;
|
|
48
48
|
p.velocity.y = 0;
|
|
49
49
|
const d = dirs[grid.direction];
|
|
50
|
-
this.
|
|
51
|
-
this.
|
|
52
|
-
return this
|
|
50
|
+
this.#res.x = d.x * grid.speed;
|
|
51
|
+
this.#res.y = d.y * grid.speed;
|
|
52
|
+
return this.#res;
|
|
53
53
|
}
|
|
54
54
|
init() {
|
|
55
|
-
const source = this.
|
|
55
|
+
const source = this.#container.actualOptions.particles.move.path.options;
|
|
56
56
|
this.options.cellSize = source["cellSize"] ?? this.options.cellSize;
|
|
57
57
|
this.options.autoMaze = source["autoMaze"] ?? this.options.autoMaze;
|
|
58
58
|
this.options.graph = source["graph"];
|
|
59
59
|
if (this.options.autoMaze) {
|
|
60
|
-
const canvas = this.
|
|
60
|
+
const canvas = this.#container.canvas.size, cellSize = this.options.cellSize, size = {
|
|
61
61
|
width: Math.ceil(canvas.width / cellSize),
|
|
62
62
|
height: Math.ceil(canvas.height / cellSize),
|
|
63
63
|
};
|
|
64
|
-
this.options.graph = this
|
|
64
|
+
this.options.graph = this.#generateMazeGraph(size);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
reset(p) {
|
|
@@ -69,7 +69,7 @@ export class GridPathGenerator {
|
|
|
69
69
|
}
|
|
70
70
|
update() {
|
|
71
71
|
}
|
|
72
|
-
|
|
72
|
+
#generateMazeGraph({ height, width }) {
|
|
73
73
|
const graph = {}, visited = [];
|
|
74
74
|
for (let y = 0; y < height; y++) {
|
|
75
75
|
visited[y] = [];
|
package/browser/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { ensureBaseMoverLoaded } from "@tsparticles/plugin-move";
|
|
|
2
2
|
import { GridPathGenerator } from "./GridPathGenerator.js";
|
|
3
3
|
export const gridPathName = "gridPathGenerator";
|
|
4
4
|
export async function loadGridPath(engine) {
|
|
5
|
-
engine.checkVersion("4.
|
|
5
|
+
engine.checkVersion("4.1.1");
|
|
6
6
|
await engine.pluginManager.register((e) => {
|
|
7
7
|
ensureBaseMoverLoaded(e);
|
|
8
8
|
e.pluginManager.addPathGenerator?.(gridPathName, container => {
|
package/browser/index.lazy.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const gridPathName = "gridPathGenerator";
|
|
2
2
|
export async function loadGridPath(engine) {
|
|
3
|
-
engine.checkVersion("4.
|
|
3
|
+
engine.checkVersion("4.1.1");
|
|
4
4
|
await engine.pluginManager.register(async (e) => {
|
|
5
5
|
const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move/lazy");
|
|
6
6
|
ensureBaseMoverLoaded(e);
|
package/cjs/GridPathGenerator.js
CHANGED
|
@@ -7,11 +7,11 @@ const dirs = [
|
|
|
7
7
|
], opposite = [2, 3, 0, 1], minLength = 0;
|
|
8
8
|
export class GridPathGenerator {
|
|
9
9
|
options;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
#container;
|
|
11
|
+
#res;
|
|
12
12
|
constructor(container) {
|
|
13
|
-
this
|
|
14
|
-
this
|
|
13
|
+
this.#container = container;
|
|
14
|
+
this.#res = Vector.origin;
|
|
15
15
|
this.options = {
|
|
16
16
|
cellSize: 40,
|
|
17
17
|
graph: undefined,
|
|
@@ -47,21 +47,21 @@ export class GridPathGenerator {
|
|
|
47
47
|
p.velocity.x = 0;
|
|
48
48
|
p.velocity.y = 0;
|
|
49
49
|
const d = dirs[grid.direction];
|
|
50
|
-
this.
|
|
51
|
-
this.
|
|
52
|
-
return this
|
|
50
|
+
this.#res.x = d.x * grid.speed;
|
|
51
|
+
this.#res.y = d.y * grid.speed;
|
|
52
|
+
return this.#res;
|
|
53
53
|
}
|
|
54
54
|
init() {
|
|
55
|
-
const source = this.
|
|
55
|
+
const source = this.#container.actualOptions.particles.move.path.options;
|
|
56
56
|
this.options.cellSize = source["cellSize"] ?? this.options.cellSize;
|
|
57
57
|
this.options.autoMaze = source["autoMaze"] ?? this.options.autoMaze;
|
|
58
58
|
this.options.graph = source["graph"];
|
|
59
59
|
if (this.options.autoMaze) {
|
|
60
|
-
const canvas = this.
|
|
60
|
+
const canvas = this.#container.canvas.size, cellSize = this.options.cellSize, size = {
|
|
61
61
|
width: Math.ceil(canvas.width / cellSize),
|
|
62
62
|
height: Math.ceil(canvas.height / cellSize),
|
|
63
63
|
};
|
|
64
|
-
this.options.graph = this
|
|
64
|
+
this.options.graph = this.#generateMazeGraph(size);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
reset(p) {
|
|
@@ -69,7 +69,7 @@ export class GridPathGenerator {
|
|
|
69
69
|
}
|
|
70
70
|
update() {
|
|
71
71
|
}
|
|
72
|
-
|
|
72
|
+
#generateMazeGraph({ height, width }) {
|
|
73
73
|
const graph = {}, visited = [];
|
|
74
74
|
for (let y = 0; y < height; y++) {
|
|
75
75
|
visited[y] = [];
|
package/cjs/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { ensureBaseMoverLoaded } from "@tsparticles/plugin-move";
|
|
|
2
2
|
import { GridPathGenerator } from "./GridPathGenerator.js";
|
|
3
3
|
export const gridPathName = "gridPathGenerator";
|
|
4
4
|
export async function loadGridPath(engine) {
|
|
5
|
-
engine.checkVersion("4.
|
|
5
|
+
engine.checkVersion("4.1.1");
|
|
6
6
|
await engine.pluginManager.register((e) => {
|
|
7
7
|
ensureBaseMoverLoaded(e);
|
|
8
8
|
e.pluginManager.addPathGenerator?.(gridPathName, container => {
|
package/cjs/index.lazy.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const gridPathName = "gridPathGenerator";
|
|
2
2
|
export async function loadGridPath(engine) {
|
|
3
|
-
engine.checkVersion("4.
|
|
3
|
+
engine.checkVersion("4.1.1");
|
|
4
4
|
await engine.pluginManager.register(async (e) => {
|
|
5
5
|
const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move/lazy");
|
|
6
6
|
ensureBaseMoverLoaded(e);
|
package/esm/GridPathGenerator.js
CHANGED
|
@@ -7,11 +7,11 @@ const dirs = [
|
|
|
7
7
|
], opposite = [2, 3, 0, 1], minLength = 0;
|
|
8
8
|
export class GridPathGenerator {
|
|
9
9
|
options;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
#container;
|
|
11
|
+
#res;
|
|
12
12
|
constructor(container) {
|
|
13
|
-
this
|
|
14
|
-
this
|
|
13
|
+
this.#container = container;
|
|
14
|
+
this.#res = Vector.origin;
|
|
15
15
|
this.options = {
|
|
16
16
|
cellSize: 40,
|
|
17
17
|
graph: undefined,
|
|
@@ -47,21 +47,21 @@ export class GridPathGenerator {
|
|
|
47
47
|
p.velocity.x = 0;
|
|
48
48
|
p.velocity.y = 0;
|
|
49
49
|
const d = dirs[grid.direction];
|
|
50
|
-
this.
|
|
51
|
-
this.
|
|
52
|
-
return this
|
|
50
|
+
this.#res.x = d.x * grid.speed;
|
|
51
|
+
this.#res.y = d.y * grid.speed;
|
|
52
|
+
return this.#res;
|
|
53
53
|
}
|
|
54
54
|
init() {
|
|
55
|
-
const source = this.
|
|
55
|
+
const source = this.#container.actualOptions.particles.move.path.options;
|
|
56
56
|
this.options.cellSize = source["cellSize"] ?? this.options.cellSize;
|
|
57
57
|
this.options.autoMaze = source["autoMaze"] ?? this.options.autoMaze;
|
|
58
58
|
this.options.graph = source["graph"];
|
|
59
59
|
if (this.options.autoMaze) {
|
|
60
|
-
const canvas = this.
|
|
60
|
+
const canvas = this.#container.canvas.size, cellSize = this.options.cellSize, size = {
|
|
61
61
|
width: Math.ceil(canvas.width / cellSize),
|
|
62
62
|
height: Math.ceil(canvas.height / cellSize),
|
|
63
63
|
};
|
|
64
|
-
this.options.graph = this
|
|
64
|
+
this.options.graph = this.#generateMazeGraph(size);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
reset(p) {
|
|
@@ -69,7 +69,7 @@ export class GridPathGenerator {
|
|
|
69
69
|
}
|
|
70
70
|
update() {
|
|
71
71
|
}
|
|
72
|
-
|
|
72
|
+
#generateMazeGraph({ height, width }) {
|
|
73
73
|
const graph = {}, visited = [];
|
|
74
74
|
for (let y = 0; y < height; y++) {
|
|
75
75
|
visited[y] = [];
|
package/esm/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { ensureBaseMoverLoaded } from "@tsparticles/plugin-move";
|
|
|
2
2
|
import { GridPathGenerator } from "./GridPathGenerator.js";
|
|
3
3
|
export const gridPathName = "gridPathGenerator";
|
|
4
4
|
export async function loadGridPath(engine) {
|
|
5
|
-
engine.checkVersion("4.
|
|
5
|
+
engine.checkVersion("4.1.1");
|
|
6
6
|
await engine.pluginManager.register((e) => {
|
|
7
7
|
ensureBaseMoverLoaded(e);
|
|
8
8
|
e.pluginManager.addPathGenerator?.(gridPathName, container => {
|
package/esm/index.lazy.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const gridPathName = "gridPathGenerator";
|
|
2
2
|
export async function loadGridPath(engine) {
|
|
3
|
-
engine.checkVersion("4.
|
|
3
|
+
engine.checkVersion("4.1.1");
|
|
4
4
|
await engine.pluginManager.register(async (e) => {
|
|
5
5
|
const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move/lazy");
|
|
6
6
|
ensureBaseMoverLoaded(e);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsparticles/path-grid",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.1",
|
|
4
4
|
"description": "tsParticles grid path",
|
|
5
5
|
"homepage": "https://particles.js.org",
|
|
6
6
|
"repository": {
|
|
@@ -110,8 +110,8 @@
|
|
|
110
110
|
"./package.json": "./package.json"
|
|
111
111
|
},
|
|
112
112
|
"peerDependencies": {
|
|
113
|
-
"@tsparticles/engine": "4.
|
|
114
|
-
"@tsparticles/plugin-move": "4.
|
|
113
|
+
"@tsparticles/engine": "4.1.1",
|
|
114
|
+
"@tsparticles/plugin-move": "4.1.1"
|
|
115
115
|
},
|
|
116
116
|
"type": "module"
|
|
117
117
|
}
|
package/tsparticles.path.grid.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function(g){g.__tsParticlesInternals=g.__tsParticlesInternals||{};g.__tsParticlesInternals.bundles=g.__tsParticlesInternals.bundles||{};g.__tsParticlesInternals.effects=g.__tsParticlesInternals.effects||{};g.__tsParticlesInternals.engine=g.__tsParticlesInternals.engine||{};g.__tsParticlesInternals.interactions=g.__tsParticlesInternals.interactions||{};g.__tsParticlesInternals.palettes=g.__tsParticlesInternals.palettes||{};g.__tsParticlesInternals.paths=g.__tsParticlesInternals.paths||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins.emittersShapes=g.__tsParticlesInternals.plugins.emittersShapes||{};g.__tsParticlesInternals.presets=g.__tsParticlesInternals.presets||{};g.__tsParticlesInternals.shapes=g.__tsParticlesInternals.shapes||{};g.__tsParticlesInternals.updaters=g.__tsParticlesInternals.updaters||{};g.__tsParticlesInternals.utils=g.__tsParticlesInternals.utils||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas.utils=g.__tsParticlesInternals.canvas.utils||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path.utils=g.__tsParticlesInternals.path.utils||{};var __tsProxyFactory=typeof Proxy!=="undefined"?function(obj){return new Proxy(obj,{get:function(target,key){if(!(key in target)){target[key]={};}return target[key];}});}:function(obj){return obj;};g.__tsParticlesInternals.bundles=__tsProxyFactory(g.__tsParticlesInternals.bundles);g.__tsParticlesInternals.effects=__tsProxyFactory(g.__tsParticlesInternals.effects);g.__tsParticlesInternals.interactions=__tsProxyFactory(g.__tsParticlesInternals.interactions);g.__tsParticlesInternals.palettes=__tsProxyFactory(g.__tsParticlesInternals.palettes);g.__tsParticlesInternals.paths=__tsProxyFactory(g.__tsParticlesInternals.paths);g.__tsParticlesInternals.plugins=__tsProxyFactory(g.__tsParticlesInternals.plugins);g.__tsParticlesInternals.plugins.emittersShapes=__tsProxyFactory(g.__tsParticlesInternals.plugins.emittersShapes);g.__tsParticlesInternals.presets=__tsProxyFactory(g.__tsParticlesInternals.presets);g.__tsParticlesInternals.shapes=__tsProxyFactory(g.__tsParticlesInternals.shapes);g.__tsParticlesInternals.updaters=__tsProxyFactory(g.__tsParticlesInternals.updaters);g.__tsParticlesInternals.utils=__tsProxyFactory(g.__tsParticlesInternals.utils);g.__tsParticlesInternals.canvas=__tsProxyFactory(g.__tsParticlesInternals.canvas);g.__tsParticlesInternals.path=__tsProxyFactory(g.__tsParticlesInternals.path);g.tsparticlesInternalExports=g.tsparticlesInternalExports||{};})(typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:this);
|
|
2
|
-
/* Path v4.
|
|
2
|
+
/* Path v4.1.1 */
|
|
3
3
|
(function (global, factory) {
|
|
4
4
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@tsparticles/plugin-move'), require('@tsparticles/engine')) :
|
|
5
5
|
typeof define === 'function' && define.amd ? define(['exports', '@tsparticles/plugin-move', '@tsparticles/engine'], factory) :
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
], opposite = [2, 3, 0, 1], minLength = 0;
|
|
15
15
|
class GridPathGenerator {
|
|
16
16
|
options;
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
#container;
|
|
18
|
+
#res;
|
|
19
19
|
constructor(container) {
|
|
20
|
-
this
|
|
21
|
-
this
|
|
20
|
+
this.#container = container;
|
|
21
|
+
this.#res = engine.Vector.origin;
|
|
22
22
|
this.options = {
|
|
23
23
|
cellSize: 40,
|
|
24
24
|
graph: undefined,
|
|
@@ -54,21 +54,21 @@
|
|
|
54
54
|
p.velocity.x = 0;
|
|
55
55
|
p.velocity.y = 0;
|
|
56
56
|
const d = dirs[grid.direction];
|
|
57
|
-
this.
|
|
58
|
-
this.
|
|
59
|
-
return this
|
|
57
|
+
this.#res.x = d.x * grid.speed;
|
|
58
|
+
this.#res.y = d.y * grid.speed;
|
|
59
|
+
return this.#res;
|
|
60
60
|
}
|
|
61
61
|
init() {
|
|
62
|
-
const source = this.
|
|
62
|
+
const source = this.#container.actualOptions.particles.move.path.options;
|
|
63
63
|
this.options.cellSize = source["cellSize"] ?? this.options.cellSize;
|
|
64
64
|
this.options.autoMaze = source["autoMaze"] ?? this.options.autoMaze;
|
|
65
65
|
this.options.graph = source["graph"];
|
|
66
66
|
if (this.options.autoMaze) {
|
|
67
|
-
const canvas = this.
|
|
67
|
+
const canvas = this.#container.canvas.size, cellSize = this.options.cellSize, size = {
|
|
68
68
|
width: Math.ceil(canvas.width / cellSize),
|
|
69
69
|
height: Math.ceil(canvas.height / cellSize),
|
|
70
70
|
};
|
|
71
|
-
this.options.graph = this
|
|
71
|
+
this.options.graph = this.#generateMazeGraph(size);
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
reset(p) {
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
}
|
|
77
77
|
update() {
|
|
78
78
|
}
|
|
79
|
-
|
|
79
|
+
#generateMazeGraph({ height, width }) {
|
|
80
80
|
const graph = {}, visited = [];
|
|
81
81
|
for (let y = 0; y < height; y++) {
|
|
82
82
|
visited[y] = [];
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
|
|
119
119
|
const gridPathName = "gridPathGenerator";
|
|
120
120
|
async function loadGridPath(engine) {
|
|
121
|
-
engine.checkVersion("4.
|
|
121
|
+
engine.checkVersion("4.1.1");
|
|
122
122
|
await engine.pluginManager.register((e) => {
|
|
123
123
|
pluginMove.ensureBaseMoverLoaded(e);
|
|
124
124
|
e.pluginManager.addPathGenerator?.(gridPathName, container => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t){t.__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.bundles=t.__tsParticlesInternals.bundles||{},t.__tsParticlesInternals.effects=t.__tsParticlesInternals.effects||{},t.__tsParticlesInternals.engine=t.__tsParticlesInternals.engine||{},t.__tsParticlesInternals.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.palettes=t.__tsParticlesInternals.palettes||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins.emittersShapes=t.__tsParticlesInternals.plugins.emittersShapes||{},t.__tsParticlesInternals.presets=t.__tsParticlesInternals.presets||{},t.__tsParticlesInternals.shapes=t.__tsParticlesInternals.shapes||{},t.__tsParticlesInternals.updaters=t.__tsParticlesInternals.updaters||{},t.__tsParticlesInternals.utils=t.__tsParticlesInternals.utils||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas.utils=t.__tsParticlesInternals.canvas.utils||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path.utils=t.__tsParticlesInternals.path.utils||{};var s="undefined"!=typeof Proxy?function(t){return new Proxy(t,{get:function(t,s){return s in t||(t[s]={}),t[s]}})}:function(t){return t};t.__tsParticlesInternals.bundles=s(t.__tsParticlesInternals.bundles),t.__tsParticlesInternals.effects=s(t.__tsParticlesInternals.effects),t.__tsParticlesInternals.interactions=s(t.__tsParticlesInternals.interactions),t.__tsParticlesInternals.palettes=s(t.__tsParticlesInternals.palettes),t.__tsParticlesInternals.paths=s(t.__tsParticlesInternals.paths),t.__tsParticlesInternals.plugins=s(t.__tsParticlesInternals.plugins),t.__tsParticlesInternals.plugins.emittersShapes=s(t.__tsParticlesInternals.plugins.emittersShapes),t.__tsParticlesInternals.presets=s(t.__tsParticlesInternals.presets),t.__tsParticlesInternals.shapes=s(t.__tsParticlesInternals.shapes),t.__tsParticlesInternals.updaters=s(t.__tsParticlesInternals.updaters),t.__tsParticlesInternals.utils=s(t.__tsParticlesInternals.utils),t.__tsParticlesInternals.canvas=s(t.__tsParticlesInternals.canvas),t.__tsParticlesInternals.path=s(t.__tsParticlesInternals.path),t.tsparticlesInternalExports=t.tsparticlesInternalExports||{}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:this),function(t,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@tsparticles/plugin-move"),require("@tsparticles/engine")):"function"==typeof define&&define.amd?define(["exports","@tsparticles/plugin-move","@tsparticles/engine"],s):s(((t="undefined"!=typeof globalThis?globalThis:t||self).__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.paths.grid=t.__tsParticlesInternals.paths.grid||{}),t.__tsParticlesInternals.plugins.move,t.__tsParticlesInternals.engine)}(this,function(t,s,e){"use strict";const n=[e.Vector.create(e.identity,e.originPoint.y),e.Vector.create(e.originPoint.x,e.identity),e.Vector.create(-e.identity,e.originPoint.y),e.Vector.create(e.originPoint.x,-e.identity)],a=[2,3,0,1];class i{options;
|
|
1
|
+
!function(t){t.__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.bundles=t.__tsParticlesInternals.bundles||{},t.__tsParticlesInternals.effects=t.__tsParticlesInternals.effects||{},t.__tsParticlesInternals.engine=t.__tsParticlesInternals.engine||{},t.__tsParticlesInternals.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.palettes=t.__tsParticlesInternals.palettes||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins.emittersShapes=t.__tsParticlesInternals.plugins.emittersShapes||{},t.__tsParticlesInternals.presets=t.__tsParticlesInternals.presets||{},t.__tsParticlesInternals.shapes=t.__tsParticlesInternals.shapes||{},t.__tsParticlesInternals.updaters=t.__tsParticlesInternals.updaters||{},t.__tsParticlesInternals.utils=t.__tsParticlesInternals.utils||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas.utils=t.__tsParticlesInternals.canvas.utils||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path.utils=t.__tsParticlesInternals.path.utils||{};var s="undefined"!=typeof Proxy?function(t){return new Proxy(t,{get:function(t,s){return s in t||(t[s]={}),t[s]}})}:function(t){return t};t.__tsParticlesInternals.bundles=s(t.__tsParticlesInternals.bundles),t.__tsParticlesInternals.effects=s(t.__tsParticlesInternals.effects),t.__tsParticlesInternals.interactions=s(t.__tsParticlesInternals.interactions),t.__tsParticlesInternals.palettes=s(t.__tsParticlesInternals.palettes),t.__tsParticlesInternals.paths=s(t.__tsParticlesInternals.paths),t.__tsParticlesInternals.plugins=s(t.__tsParticlesInternals.plugins),t.__tsParticlesInternals.plugins.emittersShapes=s(t.__tsParticlesInternals.plugins.emittersShapes),t.__tsParticlesInternals.presets=s(t.__tsParticlesInternals.presets),t.__tsParticlesInternals.shapes=s(t.__tsParticlesInternals.shapes),t.__tsParticlesInternals.updaters=s(t.__tsParticlesInternals.updaters),t.__tsParticlesInternals.utils=s(t.__tsParticlesInternals.utils),t.__tsParticlesInternals.canvas=s(t.__tsParticlesInternals.canvas),t.__tsParticlesInternals.path=s(t.__tsParticlesInternals.path),t.tsparticlesInternalExports=t.tsparticlesInternalExports||{}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:this),function(t,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@tsparticles/plugin-move"),require("@tsparticles/engine")):"function"==typeof define&&define.amd?define(["exports","@tsparticles/plugin-move","@tsparticles/engine"],s):s(((t="undefined"!=typeof globalThis?globalThis:t||self).__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.paths.grid=t.__tsParticlesInternals.paths.grid||{}),t.__tsParticlesInternals.plugins.move,t.__tsParticlesInternals.engine)}(this,function(t,s,e){"use strict";const n=[e.Vector.create(e.identity,e.originPoint.y),e.Vector.create(e.originPoint.x,e.identity),e.Vector.create(-e.identity,e.originPoint.y),e.Vector.create(e.originPoint.x,-e.identity)],a=[2,3,0,1];class i{options;#t;#s;constructor(t){this.#t=t,this.#s=e.Vector.origin,this.options={cellSize:40,graph:void 0,autoMaze:!1}}generate(t){const s=this.options.cellSize;t.grid??={direction:Math.trunc(e.getRandom()*n.length),speed:t.velocity.length,cellPosition:{x:Math.floor(t.position.x/s),y:Math.floor(t.position.y/s)}};const a=t.grid,i={x:Math.floor(t.position.x/s),y:Math.floor(t.position.y/s)};if(i.x!==a.cellPosition.x||i.y!==a.cellPosition.y){a.cellPosition.x=i.x,a.cellPosition.y=i.y;const t=`${i.x},${i.y}`,s=this.options.graph?.[t];if(s&&s.length>0)a.direction=s[Math.trunc(e.getRandom()*s.length)];else if(!this.options.graph){const t=Math.trunc(3*e.getRandom())-1;a.direction=(a.direction+t+4)%n.length}}t.velocity.x=0,t.velocity.y=0;const r=n[a.direction];return this.#s.x=r.x*a.speed,this.#s.y=r.y*a.speed,this.#s}init(){const t=this.#t.actualOptions.particles.move.path.options;if(this.options.cellSize=t.cellSize??this.options.cellSize,this.options.autoMaze=t.autoMaze??this.options.autoMaze,this.options.graph=t.graph,this.options.autoMaze){const t=this.#t.canvas.size,s=this.options.cellSize,e={width:Math.ceil(t.width/s),height:Math.ceil(t.height/s)};this.options.graph=this.#e(e)}}reset(t){delete t.grid}update(){}#e({height:t,width:s}){const n={},i=[];for(let s=0;s<t;s++)i[s]=[];const r=[{x:e.originPoint.x,y:e.originPoint.y}];for(;r.length>0;){const{x:l,y:o}=r[r.length-1];i[o][l]||(i[o][l]=!0);const c=[0,1,2,3].sort(()=>e.getRandom()-.5);let _=!1;for(const e of c){const c={x:l+(0===e?1:2===e?-1:0),y:o+(1===e?1:3===e?-1:0)};if(!(c.x<0||c.y<0||c.x>=s||c.y>=t)&&!i[c.y][c.x]){const t=`${l},${o}`,s=`${c.x},${c.y}`;n[t]??=[],n[s]??=[],n[t].push(e),n[s].push(a[e]),r.push(c),_=!0;break}}_||r.pop()}return n}}const r="gridPathGenerator";async function l(t){t.checkVersion("4.1.1"),await t.pluginManager.register(t=>{s.ensureBaseMoverLoaded(t),t.pluginManager.addPathGenerator?.(r,t=>Promise.resolve(new i(t)))})}const o=globalThis;o.__tsParticlesInternals=o.__tsParticlesInternals??{},o.loadGridPath=l,t.gridPathName=r,t.loadGridPath=l}),Object.assign(globalThis.window||globalThis,{loadGridPath:(globalThis.__tsParticlesInternals.paths.grid||{}).loadGridPath}),delete(globalThis.window||globalThis).tsparticlesInternalExports;
|
|
@@ -3,13 +3,11 @@ import type { GridPathParticle } from "./GridPathParticle.js";
|
|
|
3
3
|
import type { IGridPathOptions } from "./IGridPathOptions.js";
|
|
4
4
|
import { type IMovePathGenerator } from "@tsparticles/plugin-move";
|
|
5
5
|
export declare class GridPathGenerator implements IMovePathGenerator {
|
|
6
|
+
#private;
|
|
6
7
|
readonly options: IGridPathOptions;
|
|
7
|
-
private readonly _container;
|
|
8
|
-
private readonly _res;
|
|
9
8
|
constructor(container: Container);
|
|
10
9
|
generate(p: GridPathParticle): Vector;
|
|
11
10
|
init(): void;
|
|
12
11
|
reset(p: GridPathParticle): void;
|
|
13
12
|
update(): void;
|
|
14
|
-
private _generateMazeGraph;
|
|
15
13
|
}
|