mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-16 17:31:24 +01:00
* feat: routes generation * feat: routes rendering * feat: searoutes fix, changing reGraph * feat: searoute - change pathfinding algo * feat: routes - cleanup code * feat: routes - change data format * feat: routes - add routes to json export * feat: edit routes - start * feat: edit routes - main * feat: edit routes - EP * feat: edit routes - remove route * feat: route - generate names * feat: route - continue * Refactor route merging logic for improved performance * feat: routes - show name in tooltip * feat: routes - create route dialog * feat: update data on control point remove * feat: routes editor - split route * feat: add join route functionality to routes editor * feat: Add join route functionality to routes editor * feat: Update join route tooltip in routes editor * feat: routes overview - sort by length * feat: routes overview - fix distanceScale value * feat: routes overview - create route * Refactor getMiddlePoint function to getCloseToEdgePoint * feat: routes - change data format, fix issues * feat: routes - regenerateRoutes * feat: routes - add route on burg creation * chore - remove merge conflict markers * chore - remove merge conflict markers * feat: routes name - no unnamed burg names * feat: routes - lock routes * fix: routes - split routes * feat: routes - tip correction * feat: routes - auto-update part 1 * feat: routes - return old rePacj logic to not break auto-update * feat: routes - auto-update - add connections --------- Co-authored-by: Azgaar <azgaar.fmg@yandex.com>
57 lines
1.7 KiB
JavaScript
57 lines
1.7 KiB
JavaScript
!(function (t, s) {
|
|
"object" == typeof exports && "undefined" != typeof module
|
|
? (module.exports = s())
|
|
: "function" == typeof define && define.amd
|
|
? define(s)
|
|
: ((t = "undefined" != typeof globalThis ? globalThis : t || self).FlatQueue = s());
|
|
})(this, function () {
|
|
"use strict";
|
|
return class {
|
|
constructor() {
|
|
(this.ids = []), (this.values = []), (this.length = 0);
|
|
}
|
|
clear() {
|
|
this.length = 0;
|
|
}
|
|
push(t, s) {
|
|
let i = this.length++;
|
|
for (; i > 0; ) {
|
|
const t = (i - 1) >> 1,
|
|
e = this.values[t];
|
|
if (s >= e) break;
|
|
(this.ids[i] = this.ids[t]), (this.values[i] = e), (i = t);
|
|
}
|
|
(this.ids[i] = t), (this.values[i] = s);
|
|
}
|
|
pop() {
|
|
if (0 === this.length) return;
|
|
const t = this.ids[0];
|
|
if ((this.length--, this.length > 0)) {
|
|
const t = (this.ids[0] = this.ids[this.length]),
|
|
s = (this.values[0] = this.values[this.length]),
|
|
i = this.length >> 1;
|
|
let e = 0;
|
|
for (; e < i; ) {
|
|
let t = 1 + (e << 1);
|
|
const i = t + 1;
|
|
let h = this.ids[t],
|
|
l = this.values[t];
|
|
const n = this.values[i];
|
|
if ((i < this.length && n < l && ((t = i), (h = this.ids[i]), (l = n)), l >= s)) break;
|
|
(this.ids[e] = h), (this.values[e] = l), (e = t);
|
|
}
|
|
(this.ids[e] = t), (this.values[e] = s);
|
|
}
|
|
return t;
|
|
}
|
|
peek() {
|
|
if (0 !== this.length) return this.ids[0];
|
|
}
|
|
peekValue() {
|
|
if (0 !== this.length) return this.values[0];
|
|
}
|
|
shrink() {
|
|
this.ids.length = this.values.length = this.length;
|
|
}
|
|
};
|
|
});
|