@panda0day/fivex 0.3.0 → 0.4.0

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.
Files changed (157) hide show
  1. package/dist/client/core.d.ts +10 -0
  2. package/dist/client/core.d.ts.map +1 -1
  3. package/dist/client/core.js +10 -2
  4. package/dist/client/core.js.map +1 -1
  5. package/dist/client/entities/blip.d.ts +14 -0
  6. package/dist/client/entities/blip.d.ts.map +1 -0
  7. package/dist/client/entities/blip.js +33 -0
  8. package/dist/client/entities/blip.js.map +1 -0
  9. package/dist/client/entities/checkpoint.d.ts +8 -0
  10. package/dist/client/entities/checkpoint.d.ts.map +1 -0
  11. package/dist/client/entities/checkpoint.js +15 -0
  12. package/dist/client/entities/checkpoint.js.map +1 -0
  13. package/dist/client/entities/colshape.d.ts +20 -0
  14. package/dist/client/entities/colshape.d.ts.map +1 -0
  15. package/dist/client/entities/colshape.js +36 -0
  16. package/dist/client/entities/colshape.js.map +1 -0
  17. package/dist/client/entities/entity.d.ts +3 -2
  18. package/dist/client/entities/entity.d.ts.map +1 -1
  19. package/dist/client/entities/entity.js +6 -3
  20. package/dist/client/entities/entity.js.map +1 -1
  21. package/dist/client/entities/label.d.ts +7 -0
  22. package/dist/client/entities/label.d.ts.map +1 -0
  23. package/dist/client/entities/label.js +28 -0
  24. package/dist/client/entities/label.js.map +1 -0
  25. package/dist/client/entities/local-player.d.ts +1 -0
  26. package/dist/client/entities/local-player.d.ts.map +1 -1
  27. package/dist/client/entities/local-player.js +3 -0
  28. package/dist/client/entities/local-player.js.map +1 -1
  29. package/dist/client/entities/marker.d.ts +7 -0
  30. package/dist/client/entities/marker.d.ts.map +1 -0
  31. package/dist/client/entities/marker.js +14 -0
  32. package/dist/client/entities/marker.js.map +1 -0
  33. package/dist/client/entities/pickup.d.ts +9 -0
  34. package/dist/client/entities/pickup.d.ts.map +1 -0
  35. package/dist/client/entities/pickup.js +29 -0
  36. package/dist/client/entities/pickup.js.map +1 -0
  37. package/dist/client/managers/blip-pool.d.ts +15 -0
  38. package/dist/client/managers/blip-pool.d.ts.map +1 -0
  39. package/dist/client/managers/blip-pool.js +31 -0
  40. package/dist/client/managers/blip-pool.js.map +1 -0
  41. package/dist/client/managers/checkpoint-pool.d.ts +10 -0
  42. package/dist/client/managers/checkpoint-pool.d.ts.map +1 -0
  43. package/dist/client/managers/checkpoint-pool.js +17 -0
  44. package/dist/client/managers/checkpoint-pool.js.map +1 -0
  45. package/dist/client/managers/colshape-pool.d.ts +14 -0
  46. package/dist/client/managers/colshape-pool.d.ts.map +1 -0
  47. package/dist/client/managers/colshape-pool.js +52 -0
  48. package/dist/client/managers/colshape-pool.js.map +1 -0
  49. package/dist/client/managers/label-pool.d.ts +12 -0
  50. package/dist/client/managers/label-pool.d.ts.map +1 -0
  51. package/dist/client/managers/label-pool.js +21 -0
  52. package/dist/client/managers/label-pool.js.map +1 -0
  53. package/dist/client/managers/marker-pool.d.ts +12 -0
  54. package/dist/client/managers/marker-pool.d.ts.map +1 -0
  55. package/dist/client/managers/marker-pool.js +21 -0
  56. package/dist/client/managers/marker-pool.js.map +1 -0
  57. package/dist/client/managers/orchestration.d.ts +13 -0
  58. package/dist/client/managers/orchestration.d.ts.map +1 -0
  59. package/dist/client/managers/orchestration.js +27 -0
  60. package/dist/client/managers/orchestration.js.map +1 -0
  61. package/dist/client/managers/pickup-pool.d.ts +10 -0
  62. package/dist/client/managers/pickup-pool.d.ts.map +1 -0
  63. package/dist/client/managers/pickup-pool.js +17 -0
  64. package/dist/client/managers/pickup-pool.js.map +1 -0
  65. package/dist/client/managers/tick-orchestration.d.ts +16 -0
  66. package/dist/client/managers/tick-orchestration.d.ts.map +1 -0
  67. package/dist/client/managers/tick-orchestration.js +39 -0
  68. package/dist/client/managers/tick-orchestration.js.map +1 -0
  69. package/dist/server/core.d.ts +11 -3
  70. package/dist/server/core.d.ts.map +1 -1
  71. package/dist/server/core.js +11 -3
  72. package/dist/server/core.js.map +1 -1
  73. package/dist/server/entities/blip.d.ts +17 -0
  74. package/dist/server/entities/blip.d.ts.map +1 -0
  75. package/dist/server/entities/blip.js +39 -0
  76. package/dist/server/entities/blip.js.map +1 -0
  77. package/dist/server/entities/checkpoint.d.ts +16 -0
  78. package/dist/server/entities/checkpoint.d.ts.map +1 -0
  79. package/dist/server/entities/checkpoint.js +23 -0
  80. package/dist/server/entities/checkpoint.js.map +1 -0
  81. package/dist/server/entities/colshape.d.ts +16 -0
  82. package/dist/server/entities/colshape.d.ts.map +1 -0
  83. package/dist/server/entities/colshape.js +15 -0
  84. package/dist/server/entities/colshape.js.map +1 -0
  85. package/dist/server/entities/label.d.ts +21 -0
  86. package/dist/server/entities/label.d.ts.map +1 -0
  87. package/dist/server/entities/label.js +31 -0
  88. package/dist/server/entities/label.js.map +1 -0
  89. package/dist/server/entities/marker.d.ts +22 -0
  90. package/dist/server/entities/marker.d.ts.map +1 -0
  91. package/dist/server/entities/marker.js +39 -0
  92. package/dist/server/entities/marker.js.map +1 -0
  93. package/dist/server/entities/pickup.d.ts +16 -0
  94. package/dist/server/entities/pickup.d.ts.map +1 -0
  95. package/dist/server/entities/pickup.js +23 -0
  96. package/dist/server/entities/pickup.js.map +1 -0
  97. package/dist/server/managers/blip-pool.d.ts +14 -0
  98. package/dist/server/managers/blip-pool.d.ts.map +1 -0
  99. package/dist/server/managers/blip-pool.js +16 -0
  100. package/dist/server/managers/blip-pool.js.map +1 -0
  101. package/dist/server/managers/checkpoint-pool.d.ts +18 -0
  102. package/dist/server/managers/checkpoint-pool.d.ts.map +1 -0
  103. package/dist/server/managers/checkpoint-pool.js +32 -0
  104. package/dist/server/managers/checkpoint-pool.js.map +1 -0
  105. package/dist/server/managers/colshape-pool.d.ts +17 -0
  106. package/dist/server/managers/colshape-pool.d.ts.map +1 -0
  107. package/dist/server/managers/colshape-pool.js +76 -0
  108. package/dist/server/managers/colshape-pool.js.map +1 -0
  109. package/dist/server/managers/label-pool.d.ts +10 -0
  110. package/dist/server/managers/label-pool.d.ts.map +1 -0
  111. package/dist/server/managers/label-pool.js +16 -0
  112. package/dist/server/managers/label-pool.js.map +1 -0
  113. package/dist/server/managers/marker-pool.d.ts +10 -0
  114. package/dist/server/managers/marker-pool.d.ts.map +1 -0
  115. package/dist/server/managers/marker-pool.js +16 -0
  116. package/dist/server/managers/marker-pool.js.map +1 -0
  117. package/dist/server/managers/orchestration.d.ts +14 -0
  118. package/dist/server/managers/orchestration.d.ts.map +1 -0
  119. package/dist/server/managers/orchestration.js +23 -0
  120. package/dist/server/managers/orchestration.js.map +1 -0
  121. package/dist/server/managers/pickup-pool.d.ts +18 -0
  122. package/dist/server/managers/pickup-pool.d.ts.map +1 -0
  123. package/dist/server/managers/pickup-pool.js +32 -0
  124. package/dist/server/managers/pickup-pool.js.map +1 -0
  125. package/dist/shared/checkpoints.d.ts +17 -0
  126. package/dist/shared/checkpoints.d.ts.map +1 -0
  127. package/dist/shared/checkpoints.js +6 -0
  128. package/dist/shared/checkpoints.js.map +1 -0
  129. package/dist/shared/colshape.d.ts +10 -0
  130. package/dist/shared/colshape.d.ts.map +1 -0
  131. package/dist/shared/colshape.js +22 -0
  132. package/dist/shared/colshape.js.map +1 -0
  133. package/dist/shared/labels.d.ts +18 -0
  134. package/dist/shared/labels.d.ts.map +1 -0
  135. package/dist/shared/labels.js +6 -0
  136. package/dist/shared/labels.js.map +1 -0
  137. package/dist/shared/markers.d.ts +21 -0
  138. package/dist/shared/markers.d.ts.map +1 -0
  139. package/dist/shared/markers.js +6 -0
  140. package/dist/shared/markers.js.map +1 -0
  141. package/dist/shared/orchestration.d.ts +9 -0
  142. package/dist/shared/orchestration.d.ts.map +1 -0
  143. package/dist/shared/orchestration.js +2 -0
  144. package/dist/shared/orchestration.js.map +1 -0
  145. package/dist/shared/pickups.d.ts +10 -0
  146. package/dist/shared/pickups.d.ts.map +1 -0
  147. package/dist/shared/pickups.js +6 -0
  148. package/dist/shared/pickups.js.map +1 -0
  149. package/package.json +1 -1
  150. package/dist/client/blips-internal.d.ts +0 -2
  151. package/dist/client/blips-internal.d.ts.map +0 -1
  152. package/dist/client/blips-internal.js +0 -32
  153. package/dist/client/blips-internal.js.map +0 -1
  154. package/dist/server/blips.d.ts +0 -9
  155. package/dist/server/blips.d.ts.map +0 -1
  156. package/dist/server/blips.js +0 -25
  157. package/dist/server/blips.js.map +0 -1
@@ -0,0 +1,12 @@
1
+ import { type LabelData } from "../../shared/labels";
2
+ import { Label } from "../entities/label";
3
+ import { ClientTickOrchestration } from "./tick-orchestration";
4
+ export declare class LabelPool extends ClientTickOrchestration<LabelData, Label> {
5
+ protected readonly net: import("../../shared/orchestration").OrchestrationNet;
6
+ private localId;
7
+ constructor();
8
+ protected wrap(d: LabelData): Label;
9
+ protected render(l: Label): void;
10
+ new(data: Omit<LabelData, "id">): Label;
11
+ }
12
+ //# sourceMappingURL=label-pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-pool.d.ts","sourceRoot":"","sources":["../../../src/client/managers/label-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,qBAAa,SAAU,SAAQ,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC;IACvE,SAAS,CAAC,QAAQ,CAAC,GAAG,wDAAY;IAClC,OAAO,CAAC,OAAO,CAAM;;IAOrB,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,KAAK;IAInC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAIhC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,KAAK;CAGvC"}
@@ -0,0 +1,21 @@
1
+ import { LabelNet } from "../../shared/labels";
2
+ import { Label } from "../entities/label";
3
+ import { ClientTickOrchestration } from "./tick-orchestration";
4
+ export class LabelPool extends ClientTickOrchestration {
5
+ net = LabelNet;
6
+ localId = -1;
7
+ constructor() {
8
+ super();
9
+ this.register();
10
+ }
11
+ wrap(d) {
12
+ return new Label(d);
13
+ }
14
+ render(l) {
15
+ l.render();
16
+ }
17
+ new(data) {
18
+ return this.set({ ...data, id: this.localId-- });
19
+ }
20
+ }
21
+ //# sourceMappingURL=label-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-pool.js","sourceRoot":"","sources":["../../../src/client/managers/label-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,OAAO,SAAU,SAAQ,uBAAyC;IACpD,GAAG,GAAG,QAAQ,CAAC;IAC1B,OAAO,GAAG,CAAC,CAAC,CAAC;IAErB;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAES,IAAI,CAAC,CAAY;QAC1B,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAES,MAAM,CAAC,CAAQ;QACxB,CAAC,CAAC,MAAM,EAAE,CAAC;IACZ,CAAC;IAED,GAAG,CAAC,IAA2B;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAe,CAAC,CAAC;IAC/D,CAAC;CACD"}
@@ -0,0 +1,12 @@
1
+ import { type MarkerData } from "../../shared/markers";
2
+ import { Marker } from "../entities/marker";
3
+ import { ClientTickOrchestration } from "./tick-orchestration";
4
+ export declare class MarkerPool extends ClientTickOrchestration<MarkerData, Marker> {
5
+ protected readonly net: import("../../shared/orchestration").OrchestrationNet;
6
+ private localId;
7
+ constructor();
8
+ protected wrap(d: MarkerData): Marker;
9
+ protected render(m: Marker): void;
10
+ new(data: Omit<MarkerData, "id">): Marker;
11
+ }
12
+ //# sourceMappingURL=marker-pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker-pool.d.ts","sourceRoot":"","sources":["../../../src/client/managers/marker-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAa,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,qBAAa,UAAW,SAAQ,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC;IAC1E,SAAS,CAAC,QAAQ,CAAC,GAAG,wDAAa;IACnC,OAAO,CAAC,OAAO,CAAM;;IAOrB,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM;IAIrC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,MAAM;CAGzC"}
@@ -0,0 +1,21 @@
1
+ import { MarkerNet } from "../../shared/markers";
2
+ import { Marker } from "../entities/marker";
3
+ import { ClientTickOrchestration } from "./tick-orchestration";
4
+ export class MarkerPool extends ClientTickOrchestration {
5
+ net = MarkerNet;
6
+ localId = -1;
7
+ constructor() {
8
+ super();
9
+ this.register();
10
+ }
11
+ wrap(d) {
12
+ return new Marker(d);
13
+ }
14
+ render(m) {
15
+ m.render();
16
+ }
17
+ new(data) {
18
+ return this.set({ ...data, id: this.localId-- });
19
+ }
20
+ }
21
+ //# sourceMappingURL=marker-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker-pool.js","sourceRoot":"","sources":["../../../src/client/managers/marker-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,OAAO,UAAW,SAAQ,uBAA2C;IACvD,GAAG,GAAG,SAAS,CAAC;IAC3B,OAAO,GAAG,CAAC,CAAC,CAAC;IAErB;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAES,IAAI,CAAC,CAAa;QAC3B,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAES,MAAM,CAAC,CAAS;QACzB,CAAC,CAAC,MAAM,EAAE,CAAC;IACZ,CAAC;IAED,GAAG,CAAC,IAA4B;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAgB,CAAC,CAAC;IAChE,CAAC;CACD"}
@@ -0,0 +1,13 @@
1
+ import type { OrchestrationNet } from "../../shared/orchestration";
2
+ export declare abstract class ClientOrchestration<TData extends {
3
+ id: number;
4
+ }, TInstance> {
5
+ protected instances: Map<number, TInstance>;
6
+ protected abstract readonly net: OrchestrationNet;
7
+ protected abstract draw(data: TData): TInstance;
8
+ protected abstract erase(instance: TInstance): void;
9
+ protected register(): void;
10
+ private apply;
11
+ toArray(): TInstance[];
12
+ }
13
+ //# sourceMappingURL=orchestration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestration.d.ts","sourceRoot":"","sources":["../../../src/client/managers/orchestration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,8BAAsB,mBAAmB,CACxC,KAAK,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC5B,SAAS;IAET,SAAS,CAAC,SAAS,yBAAgC;IAEnD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAElD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS;IAE/C,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAEnD,SAAS,CAAC,QAAQ,IAAI,IAAI;IAc1B,OAAO,CAAC,KAAK;IAMb,OAAO,IAAI,SAAS,EAAE;CAGtB"}
@@ -0,0 +1,27 @@
1
+ export class ClientOrchestration {
2
+ instances = new Map();
3
+ register() {
4
+ onNet(this.net.add, (d) => this.apply(d));
5
+ onNet(this.net.sync, (list) => {
6
+ for (const d of list)
7
+ this.apply(d);
8
+ });
9
+ onNet(this.net.remove, (id) => {
10
+ const inst = this.instances.get(id);
11
+ if (inst) {
12
+ this.erase(inst);
13
+ this.instances.delete(id);
14
+ }
15
+ });
16
+ }
17
+ apply(d) {
18
+ const existing = this.instances.get(d.id);
19
+ if (existing)
20
+ this.erase(existing);
21
+ this.instances.set(d.id, this.draw(d));
22
+ }
23
+ toArray() {
24
+ return [...this.instances.values()];
25
+ }
26
+ }
27
+ //# sourceMappingURL=orchestration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../../src/client/managers/orchestration.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,mBAAmB;IAI9B,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAC;IAQzC,QAAQ;QACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAa,EAAE,EAAE;YACtC,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAU,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,CAAQ;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,QAAQ;YAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;CACD"}
@@ -0,0 +1,10 @@
1
+ import { type PickupData } from "../../shared/pickups";
2
+ import { Pickup } from "../entities/pickup";
3
+ import { ClientOrchestration } from "./orchestration";
4
+ export declare class PickupPool extends ClientOrchestration<PickupData, Pickup> {
5
+ protected readonly net: import("../../shared/orchestration").OrchestrationNet;
6
+ constructor();
7
+ protected draw(d: PickupData): Pickup;
8
+ protected erase(p: Pickup): void;
9
+ }
10
+ //# sourceMappingURL=pickup-pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickup-pool.d.ts","sourceRoot":"","sources":["../../../src/client/managers/pickup-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAa,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,qBAAa,UAAW,SAAQ,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC;IACtE,SAAS,CAAC,QAAQ,CAAC,GAAG,wDAAa;;IAOnC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM;IAIrC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;CAGhC"}
@@ -0,0 +1,17 @@
1
+ import { PickupNet } from "../../shared/pickups";
2
+ import { Pickup } from "../entities/pickup";
3
+ import { ClientOrchestration } from "./orchestration";
4
+ export class PickupPool extends ClientOrchestration {
5
+ net = PickupNet;
6
+ constructor() {
7
+ super();
8
+ this.register();
9
+ }
10
+ draw(d) {
11
+ return new Pickup(d);
12
+ }
13
+ erase(p) {
14
+ p.remove();
15
+ }
16
+ }
17
+ //# sourceMappingURL=pickup-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickup-pool.js","sourceRoot":"","sources":["../../../src/client/managers/pickup-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,OAAO,UAAW,SAAQ,mBAAuC;IACnD,GAAG,GAAG,SAAS,CAAC;IAEnC;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAES,IAAI,CAAC,CAAa;QAC3B,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAES,KAAK,CAAC,CAAS;QACxB,CAAC,CAAC,MAAM,EAAE,CAAC;IACZ,CAAC;CACD"}
@@ -0,0 +1,16 @@
1
+ import type { OrchestrationNet } from "../../shared/orchestration";
2
+ export declare abstract class ClientTickOrchestration<TData extends {
3
+ id: number;
4
+ }, TInstance> {
5
+ protected instances: Map<number, TInstance>;
6
+ private tick;
7
+ protected abstract readonly net: OrchestrationNet;
8
+ protected abstract wrap(data: TData): TInstance;
9
+ protected abstract render(instance: TInstance): void;
10
+ protected register(): void;
11
+ protected set(d: TData): TInstance;
12
+ protected delete(id: number): void;
13
+ private ensureTick;
14
+ toArray(): TInstance[];
15
+ }
16
+ //# sourceMappingURL=tick-orchestration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tick-orchestration.d.ts","sourceRoot":"","sources":["../../../src/client/managers/tick-orchestration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,8BAAsB,uBAAuB,CAC5C,KAAK,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC5B,SAAS;IAET,SAAS,CAAC,SAAS,yBAAgC;IACnD,OAAO,CAAC,IAAI,CAAuB;IAEnC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAElD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS;IAE/C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAEpD,SAAS,CAAC,QAAQ,IAAI,IAAI;IAU1B,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS;IAOlC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQlC,OAAO,CAAC,UAAU;IAOlB,OAAO,IAAI,SAAS,EAAE;CAGtB"}
@@ -0,0 +1,39 @@
1
+ export class ClientTickOrchestration {
2
+ instances = new Map();
3
+ tick = null;
4
+ register() {
5
+ onNet(this.net.add, (d) => {
6
+ this.set(d);
7
+ });
8
+ onNet(this.net.sync, (list) => {
9
+ for (const d of list)
10
+ this.set(d);
11
+ });
12
+ onNet(this.net.remove, (id) => this.delete(id));
13
+ }
14
+ set(d) {
15
+ const inst = this.wrap(d);
16
+ this.instances.set(d.id, inst);
17
+ this.ensureTick();
18
+ return inst;
19
+ }
20
+ delete(id) {
21
+ this.instances.delete(id);
22
+ if (this.instances.size === 0 && this.tick !== null) {
23
+ clearTick(this.tick);
24
+ this.tick = null;
25
+ }
26
+ }
27
+ ensureTick() {
28
+ if (this.tick !== null)
29
+ return;
30
+ this.tick = setTick(() => {
31
+ for (const inst of this.instances.values())
32
+ this.render(inst);
33
+ });
34
+ }
35
+ toArray() {
36
+ return [...this.instances.values()];
37
+ }
38
+ }
39
+ //# sourceMappingURL=tick-orchestration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tick-orchestration.js","sourceRoot":"","sources":["../../../src/client/managers/tick-orchestration.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,uBAAuB;IAIlC,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC3C,IAAI,GAAkB,IAAI,CAAC;IAQzB,QAAQ;QACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAQ,EAAE,EAAE;YAChC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAa,EAAE,EAAE;YACtC,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAES,GAAG,CAAC,CAAQ;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAES,MAAM,CAAC,EAAU;QAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACrD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;IACF,CAAC;IAEO,UAAU;QACjB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO;QAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;YACxB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;CACD"}
@@ -1,15 +1,23 @@
1
1
  import { Vector3 } from "../shared";
2
- import { BlipManager } from "./blips";
2
+ import { BlipPool } from "./managers/blip-pool";
3
+ import { CheckpointPool } from "./managers/checkpoint-pool";
4
+ import { ColshapePool } from "./managers/colshape-pool";
3
5
  import { EventManager } from "./managers/event-manager";
6
+ import { LabelPool } from "./managers/label-pool";
4
7
  import { ObjectPool } from "./managers/object-pool";
8
+ import { PickupPool } from "./managers/pickup-pool";
5
9
  import { PlayerPool } from "./managers/player-pool";
6
10
  import { VehiclePool } from "./managers/vehicle-pool";
7
11
  export declare class Core {
8
12
  readonly events: EventManager;
9
- readonly players: PlayerPool;
10
13
  readonly Vector3: typeof Vector3;
11
- readonly blips: BlipManager;
14
+ readonly players: PlayerPool;
12
15
  readonly vehicles: VehiclePool;
13
16
  readonly objects: ObjectPool;
17
+ readonly colshapes: ColshapePool;
18
+ readonly blips: BlipPool;
19
+ readonly pickups: PickupPool;
20
+ readonly checkpoints: CheckpointPool;
21
+ readonly labels: LabelPool;
14
22
  }
15
23
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/server/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,qBAAa,IAAI;IAChB,QAAQ,CAAC,MAAM,eAAsB;IACrC,QAAQ,CAAC,OAAO,aAAoB;IACpC,QAAQ,CAAC,OAAO,iBAAW;IAC3B,QAAQ,CAAC,KAAK,cAAqB;IAEnC,QAAQ,CAAC,QAAQ,cAAqB;IACtC,QAAQ,CAAC,OAAO,aAAoB;CACpC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/server/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,qBAAa,IAAI;IAChB,QAAQ,CAAC,MAAM,eAAsB;IACrC,QAAQ,CAAC,OAAO,iBAAW;IAE3B,QAAQ,CAAC,OAAO,aAAoB;IACpC,QAAQ,CAAC,QAAQ,cAAqB;IACtC,QAAQ,CAAC,OAAO,aAAoB;IACpC,QAAQ,CAAC,SAAS,eAAsB;IACxC,QAAQ,CAAC,KAAK,WAAkB;IAChC,QAAQ,CAAC,OAAO,aAAkC;IAClD,QAAQ,CAAC,WAAW,iBAAsC;IAC1D,QAAQ,CAAC,MAAM,YAAmB;CAClC"}
@@ -1,15 +1,23 @@
1
1
  import { Vector3 } from "../shared";
2
- import { BlipManager } from "./blips";
2
+ import { BlipPool } from "./managers/blip-pool";
3
+ import { CheckpointPool } from "./managers/checkpoint-pool";
4
+ import { ColshapePool } from "./managers/colshape-pool";
3
5
  import { EventManager } from "./managers/event-manager";
6
+ import { LabelPool } from "./managers/label-pool";
4
7
  import { ObjectPool } from "./managers/object-pool";
8
+ import { PickupPool } from "./managers/pickup-pool";
5
9
  import { PlayerPool } from "./managers/player-pool";
6
10
  import { VehiclePool } from "./managers/vehicle-pool";
7
11
  export class Core {
8
12
  events = new EventManager();
9
- players = new PlayerPool();
10
13
  Vector3 = Vector3;
11
- blips = new BlipManager();
14
+ players = new PlayerPool();
12
15
  vehicles = new VehiclePool();
13
16
  objects = new ObjectPool();
17
+ colshapes = new ColshapePool();
18
+ blips = new BlipPool();
19
+ pickups = new PickupPool(this.colshapes);
20
+ checkpoints = new CheckpointPool(this.colshapes);
21
+ labels = new LabelPool();
14
22
  }
15
23
  //# sourceMappingURL=core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/server/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,OAAO,IAAI;IACP,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAC5B,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;IAC3B,OAAO,GAAG,OAAO,CAAC;IAClB,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;IAE1B,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;CACpC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/server/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,OAAO,IAAI;IACP,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAC5B,OAAO,GAAG,OAAO,CAAC;IAElB,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;IAC3B,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;IAC3B,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;IAC/B,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;IACvB,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;CAClC"}
@@ -0,0 +1,17 @@
1
+ import type { IVector3 } from "../../shared";
2
+ import type { BlipData } from "../../shared/blips";
3
+ export declare class Blip {
4
+ readonly target: number;
5
+ readonly data: BlipData;
6
+ private readonly onChange;
7
+ private readonly onRemove;
8
+ constructor(target: number, data: BlipData, onChange: (blip: Blip) => void, onRemove: (blip: Blip) => void);
9
+ get id(): number;
10
+ set colour(value: number);
11
+ set sprite(value: number);
12
+ set scale(value: number);
13
+ set label(value: string);
14
+ set coords(value: IVector3);
15
+ remove(): void;
16
+ }
17
+ //# sourceMappingURL=blip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blip.d.ts","sourceRoot":"","sources":["../../../src/server/entities/blip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,IAAI;aAEC,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,QAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAHT,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,EAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;IAGhD,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAGvB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAGvB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAGtB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAGtB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,EAGzB;IAED,MAAM,IAAI,IAAI;CAGd"}
@@ -0,0 +1,39 @@
1
+ export class Blip {
2
+ target;
3
+ data;
4
+ onChange;
5
+ onRemove;
6
+ constructor(target, data, onChange, onRemove) {
7
+ this.target = target;
8
+ this.data = data;
9
+ this.onChange = onChange;
10
+ this.onRemove = onRemove;
11
+ }
12
+ get id() {
13
+ return this.data.id;
14
+ }
15
+ set colour(value) {
16
+ this.data.color = value;
17
+ this.onChange(this);
18
+ }
19
+ set sprite(value) {
20
+ this.data.sprite = value;
21
+ this.onChange(this);
22
+ }
23
+ set scale(value) {
24
+ this.data.scale = value;
25
+ this.onChange(this);
26
+ }
27
+ set label(value) {
28
+ this.data.label = value;
29
+ this.onChange(this);
30
+ }
31
+ set coords(value) {
32
+ this.data.coords = value;
33
+ this.onChange(this);
34
+ }
35
+ remove() {
36
+ this.onRemove(this);
37
+ }
38
+ }
39
+ //# sourceMappingURL=blip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blip.js","sourceRoot":"","sources":["../../../src/server/entities/blip.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,IAAI;IAEC;IACA;IACC;IACA;IAJlB,YACiB,MAAc,EACd,IAAc,EACb,QAA8B,EAC9B,QAA8B;QAH/B,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAU;QACb,aAAQ,GAAR,QAAQ,CAAsB;QAC9B,aAAQ,GAAR,QAAQ,CAAsB;IAC7C,CAAC;IAEJ,IAAI,EAAE;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,CAAC,KAAe;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,MAAM;QACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;CACD"}
@@ -0,0 +1,16 @@
1
+ import type { CheckpointData } from "../../shared/checkpoints";
2
+ import type { Orchestrated } from "../../shared/orchestration";
3
+ import type { Colshape } from "./colshape";
4
+ import type { Player } from "./player";
5
+ export declare class Checkpoint implements Orchestrated<CheckpointData> {
6
+ readonly target: number;
7
+ readonly data: CheckpointData;
8
+ private readonly baseRemove;
9
+ onEnter?: (player: Player) => void;
10
+ private colshape?;
11
+ constructor(target: number, data: CheckpointData, baseRemove: () => void);
12
+ get id(): number;
13
+ attachColshape(shape: Colshape): void;
14
+ remove(): void;
15
+ }
16
+ //# sourceMappingURL=checkpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../../src/server/entities/checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,qBAAa,UAAW,YAAW,YAAY,CAAC,cAAc,CAAC;aAK7C,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,cAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAN5B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAW;gBAGX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,EACnB,UAAU,EAAE,MAAM,IAAI;IAGxC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAIrC,MAAM,IAAI,IAAI;CAId"}
@@ -0,0 +1,23 @@
1
+ export class Checkpoint {
2
+ target;
3
+ data;
4
+ baseRemove;
5
+ onEnter;
6
+ colshape;
7
+ constructor(target, data, baseRemove) {
8
+ this.target = target;
9
+ this.data = data;
10
+ this.baseRemove = baseRemove;
11
+ }
12
+ get id() {
13
+ return this.data.id;
14
+ }
15
+ attachColshape(shape) {
16
+ this.colshape = shape;
17
+ }
18
+ remove() {
19
+ this.colshape?.destroy();
20
+ this.baseRemove();
21
+ }
22
+ }
23
+ //# sourceMappingURL=checkpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../../src/server/entities/checkpoint.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,UAAU;IAKL;IACA;IACC;IANlB,OAAO,CAA4B;IAC3B,QAAQ,CAAY;IAE5B,YACiB,MAAc,EACd,IAAoB,EACnB,UAAsB;QAFvB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAgB;QACnB,eAAU,GAAV,UAAU,CAAY;IACrC,CAAC;IAEJ,IAAI,EAAE;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,cAAc,CAAC,KAAe;QAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM;QACL,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;CACD"}
@@ -0,0 +1,16 @@
1
+ import type { ColshapeShape } from "../../shared/colshape";
2
+ import type { Player } from "./player";
3
+ export interface ColshapeOptions extends ColshapeShape {
4
+ dimension?: number;
5
+ onEnter?: (shape: Colshape, player: Player) => void;
6
+ onExit?: (shape: Colshape, player: Player) => void;
7
+ }
8
+ export declare class Colshape {
9
+ readonly id: number;
10
+ readonly options: ColshapeOptions;
11
+ private readonly onDestroy;
12
+ readonly inside: Set<number>;
13
+ constructor(id: number, options: ColshapeOptions, onDestroy: (id: number) => void);
14
+ destroy(): void;
15
+ }
16
+ //# sourceMappingURL=colshape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colshape.d.ts","sourceRoot":"","sources":["../../../src/server/entities/colshape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD;AAED,qBAAa,QAAQ;aAIH,EAAE,EAAE,MAAM;aACV,OAAO,EAAE,eAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL3B,QAAQ,CAAC,MAAM,cAAqB;gBAGnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,eAAe,EACvB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI;IAGjD,OAAO,IAAI,IAAI;CAGf"}
@@ -0,0 +1,15 @@
1
+ export class Colshape {
2
+ id;
3
+ options;
4
+ onDestroy;
5
+ inside = new Set();
6
+ constructor(id, options, onDestroy) {
7
+ this.id = id;
8
+ this.options = options;
9
+ this.onDestroy = onDestroy;
10
+ }
11
+ destroy() {
12
+ this.onDestroy(this.id);
13
+ }
14
+ }
15
+ //# sourceMappingURL=colshape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colshape.js","sourceRoot":"","sources":["../../../src/server/entities/colshape.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,QAAQ;IAIH;IACA;IACC;IALT,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,YACiB,EAAU,EACV,OAAwB,EACvB,SAA+B;QAFhC,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAiB;QACvB,cAAS,GAAT,SAAS,CAAsB;IAC9C,CAAC;IAEJ,OAAO;QACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;CACD"}
@@ -0,0 +1,21 @@
1
+ import type { IVector3 } from "../../shared";
2
+ import type { LabelData } from "../../shared/labels";
3
+ import type { Orchestrated } from "../../shared/orchestration";
4
+ export declare class Label implements Orchestrated<LabelData> {
5
+ readonly target: number;
6
+ readonly data: LabelData;
7
+ private readonly onChange;
8
+ private readonly baseRemove;
9
+ constructor(target: number, data: LabelData, onChange: () => void, baseRemove: () => void);
10
+ get id(): number;
11
+ set text(v: string);
12
+ set color(v: {
13
+ r: number;
14
+ g: number;
15
+ b: number;
16
+ a?: number;
17
+ });
18
+ set coords(v: IVector3);
19
+ remove(): void;
20
+ }
21
+ //# sourceMappingURL=label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../../src/server/entities/label.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,qBAAa,KAAM,YAAW,YAAY,CAAC,SAAS,CAAC;aAEnC,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,SAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAHX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,EACd,QAAQ,EAAE,MAAM,IAAI,EACpB,UAAU,EAAE,MAAM,IAAI;IAGxC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,EAGjB;IAED,IAAI,KAAK,CAAC,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAG3D;IAED,IAAI,MAAM,CAAC,CAAC,EAAE,QAAQ,EAGrB;IAED,MAAM,IAAI,IAAI;CAGd"}
@@ -0,0 +1,31 @@
1
+ export class Label {
2
+ target;
3
+ data;
4
+ onChange;
5
+ baseRemove;
6
+ constructor(target, data, onChange, baseRemove) {
7
+ this.target = target;
8
+ this.data = data;
9
+ this.onChange = onChange;
10
+ this.baseRemove = baseRemove;
11
+ }
12
+ get id() {
13
+ return this.data.id;
14
+ }
15
+ set text(v) {
16
+ this.data.text = v;
17
+ this.onChange();
18
+ }
19
+ set color(v) {
20
+ this.data.color = v;
21
+ this.onChange();
22
+ }
23
+ set coords(v) {
24
+ this.data.coords = v;
25
+ this.onChange();
26
+ }
27
+ remove() {
28
+ this.baseRemove();
29
+ }
30
+ }
31
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","sourceRoot":"","sources":["../../../src/server/entities/label.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,KAAK;IAEA;IACA;IACC;IACA;IAJlB,YACiB,MAAc,EACd,IAAe,EACd,QAAoB,EACpB,UAAsB;QAHvB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAW;QACd,aAAQ,GAAR,QAAQ,CAAY;QACpB,eAAU,GAAV,UAAU,CAAY;IACrC,CAAC;IAEJ,IAAI,EAAE;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,IAAI,CAAC,CAAS;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,CAAkD;QAC3D,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,CAAW;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAED,MAAM;QACL,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;CACD"}
@@ -0,0 +1,22 @@
1
+ import type { IVector3 } from "../../shared";
2
+ import type { MarkerData } from "../../shared/markers";
3
+ import type { Orchestrated } from "../../shared/orchestration";
4
+ export declare class Marker implements Orchestrated<MarkerData> {
5
+ readonly target: number;
6
+ readonly data: MarkerData;
7
+ private readonly onChange;
8
+ private readonly onRemove;
9
+ constructor(target: number, data: MarkerData, onChange: () => void, onRemove: () => void);
10
+ get id(): number;
11
+ set type(value: number);
12
+ set coords(value: IVector3);
13
+ set color(value: {
14
+ r: number;
15
+ g: number;
16
+ b: number;
17
+ });
18
+ set scale(value: IVector3);
19
+ set alpha(value: number);
20
+ remove(): void;
21
+ }
22
+ //# sourceMappingURL=marker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker.d.ts","sourceRoot":"","sources":["../../../src/server/entities/marker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,qBAAa,MAAO,YAAW,YAAY,CAAC,UAAU,CAAC;aAErC,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,UAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAHT,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EACf,QAAQ,EAAE,MAAM,IAAI,EACpB,QAAQ,EAAE,MAAM,IAAI;IAGtC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAGrB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,EAGzB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAGnD;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,EAGxB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAGtB;IAED,MAAM,IAAI,IAAI;CAGd"}
@@ -0,0 +1,39 @@
1
+ export class Marker {
2
+ target;
3
+ data;
4
+ onChange;
5
+ onRemove;
6
+ constructor(target, data, onChange, onRemove) {
7
+ this.target = target;
8
+ this.data = data;
9
+ this.onChange = onChange;
10
+ this.onRemove = onRemove;
11
+ }
12
+ get id() {
13
+ return this.data.id;
14
+ }
15
+ set type(value) {
16
+ this.data.type = value;
17
+ this.onChange();
18
+ }
19
+ set coords(value) {
20
+ this.data.coords = value;
21
+ this.onChange();
22
+ }
23
+ set color(value) {
24
+ this.data.color = value;
25
+ this.onChange();
26
+ }
27
+ set scale(value) {
28
+ this.data.scale = value;
29
+ this.onChange();
30
+ }
31
+ set alpha(value) {
32
+ this.data.alpha = value;
33
+ this.onChange();
34
+ }
35
+ remove() {
36
+ this.onRemove();
37
+ }
38
+ }
39
+ //# sourceMappingURL=marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker.js","sourceRoot":"","sources":["../../../src/server/entities/marker.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,MAAM;IAED;IACA;IACC;IACA;IAJlB,YACiB,MAAc,EACd,IAAgB,EACf,QAAoB,EACpB,QAAoB;QAHrB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAY;QACf,aAAQ,GAAR,QAAQ,CAAY;QACpB,aAAQ,GAAR,QAAQ,CAAY;IACnC,CAAC;IAEJ,IAAI,EAAE;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,KAAe;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,KAA0C;QACnD,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,KAAe;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAED,MAAM;QACL,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;CACD"}
@@ -0,0 +1,16 @@
1
+ import type { Orchestrated } from "../../shared/orchestration";
2
+ import type { PickupData } from "../../shared/pickups";
3
+ import type { Colshape } from "./colshape";
4
+ import type { Player } from "./player";
5
+ export declare class Pickup implements Orchestrated<PickupData> {
6
+ readonly target: number;
7
+ readonly data: PickupData;
8
+ private readonly baseRemove;
9
+ onCollect?: (player: Player) => void;
10
+ private colshape?;
11
+ constructor(target: number, data: PickupData, baseRemove: () => void);
12
+ get id(): number;
13
+ attachColshape(shape: Colshape): void;
14
+ remove(): void;
15
+ }
16
+ //# sourceMappingURL=pickup.d.ts.map