@p100-web/core 100.2.13 → 100.2.15

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 (203) hide show
  1. package/dist/GameContext.d.ts +21 -6
  2. package/dist/GameContext.d.ts.map +1 -1
  3. package/dist/GameContext.js +151 -36
  4. package/dist/GameContext.js.map +1 -1
  5. package/dist/IDBApp.d.ts +4 -2
  6. package/dist/IDBApp.d.ts.map +1 -1
  7. package/dist/IDBLogic.d.ts +7 -0
  8. package/dist/IDBLogic.d.ts.map +1 -0
  9. package/dist/IDBLogic.js +2 -0
  10. package/dist/IDBLogic.js.map +1 -0
  11. package/dist/IDBValue.d.ts +19 -0
  12. package/dist/IDBValue.d.ts.map +1 -0
  13. package/dist/IDBValue.js +2 -0
  14. package/dist/IDBValue.js.map +1 -0
  15. package/dist/IEntity.d.ts +4 -0
  16. package/dist/IEntity.d.ts.map +1 -0
  17. package/dist/IEntity.js +2 -0
  18. package/dist/IEntity.js.map +1 -0
  19. package/dist/PComponent.d.ts +9 -13
  20. package/dist/PComponent.d.ts.map +1 -1
  21. package/dist/PComponent.js +17 -28
  22. package/dist/PComponent.js.map +1 -1
  23. package/dist/PEnums.d.ts +10 -1
  24. package/dist/PEnums.d.ts.map +1 -1
  25. package/dist/PEnums.js +11 -1
  26. package/dist/PEnums.js.map +1 -1
  27. package/dist/PLogic.d.ts +19 -0
  28. package/dist/PLogic.d.ts.map +1 -0
  29. package/dist/PLogic.js +24 -0
  30. package/dist/PLogic.js.map +1 -0
  31. package/dist/PNode.d.ts +1 -1
  32. package/dist/PNode.d.ts.map +1 -1
  33. package/dist/PNode.js +6 -5
  34. package/dist/PNode.js.map +1 -1
  35. package/dist/PTypes.d.ts +5 -1
  36. package/dist/PTypes.d.ts.map +1 -1
  37. package/dist/PValue.d.ts +20 -0
  38. package/dist/PValue.d.ts.map +1 -0
  39. package/dist/PValue.js +68 -0
  40. package/dist/PValue.js.map +1 -0
  41. package/dist/index.d.ts +15 -6
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +20 -3
  44. package/dist/index.js.map +1 -1
  45. package/dist/pcomponents/BaseMaterial.d.ts +0 -1
  46. package/dist/pcomponents/BaseMaterial.d.ts.map +1 -1
  47. package/dist/pcomponents/PAnimator.d.ts +9 -9
  48. package/dist/pcomponents/PAnimator.d.ts.map +1 -1
  49. package/dist/pcomponents/PBackground.d.ts +0 -1
  50. package/dist/pcomponents/PBackground.d.ts.map +1 -1
  51. package/dist/pcomponents/PBasicMaterial.d.ts +2 -2
  52. package/dist/pcomponents/PBasicMaterial.d.ts.map +1 -1
  53. package/dist/pcomponents/PCallAction.d.ts +4 -4
  54. package/dist/pcomponents/PCallAction.d.ts.map +1 -1
  55. package/dist/pcomponents/PCameraPosition.d.ts +6 -6
  56. package/dist/pcomponents/PCameraPosition.d.ts.map +1 -1
  57. package/dist/pcomponents/PCameraTarget.d.ts +6 -6
  58. package/dist/pcomponents/PCameraTarget.d.ts.map +1 -1
  59. package/dist/pcomponents/PCollider.d.ts +4 -4
  60. package/dist/pcomponents/PCollider.d.ts.map +1 -1
  61. package/dist/pcomponents/PCompare.d.ts +8 -7
  62. package/dist/pcomponents/PCompare.d.ts.map +1 -1
  63. package/dist/pcomponents/PCompare.js +3 -2
  64. package/dist/pcomponents/PCompare.js.map +1 -1
  65. package/dist/pcomponents/PControllerInput.d.ts +5 -5
  66. package/dist/pcomponents/PControllerInput.d.ts.map +1 -1
  67. package/dist/pcomponents/PDebug.d.ts +2 -2
  68. package/dist/pcomponents/PDebug.d.ts.map +1 -1
  69. package/dist/pcomponents/PFadeAnimation.d.ts +6 -6
  70. package/dist/pcomponents/PFadeAnimation.d.ts.map +1 -1
  71. package/dist/pcomponents/PImageDetector.d.ts +2 -2
  72. package/dist/pcomponents/PImageDetector.d.ts.map +1 -1
  73. package/dist/pcomponents/PInteger.d.ts +9 -9
  74. package/dist/pcomponents/PInteger.d.ts.map +1 -1
  75. package/dist/pcomponents/PIntegerAnimator.d.ts +6 -6
  76. package/dist/pcomponents/PIntegerAnimator.d.ts.map +1 -1
  77. package/dist/pcomponents/PLayerManager.d.ts +7 -7
  78. package/dist/pcomponents/PLayerManager.d.ts.map +1 -1
  79. package/dist/pcomponents/PMaterialModifier.d.ts +5 -5
  80. package/dist/pcomponents/PMaterialModifier.d.ts.map +1 -1
  81. package/dist/pcomponents/PModelAnnotation.d.ts +7 -7
  82. package/dist/pcomponents/PModelAnnotation.d.ts.map +1 -1
  83. package/dist/pcomponents/PModelAnnotations.d.ts +7 -7
  84. package/dist/pcomponents/PModelAnnotations.d.ts.map +1 -1
  85. package/dist/pcomponents/PModelGLTF.d.ts +3 -3
  86. package/dist/pcomponents/PModelGLTF.d.ts.map +1 -1
  87. package/dist/pcomponents/PMoveAnimation.d.ts +2 -2
  88. package/dist/pcomponents/PMoveAnimation.d.ts.map +1 -1
  89. package/dist/pcomponents/PMoveToAnimation.d.ts +3 -3
  90. package/dist/pcomponents/PMoveToAnimation.d.ts.map +1 -1
  91. package/dist/pcomponents/PNodeVariable.d.ts +8 -7
  92. package/dist/pcomponents/PNodeVariable.d.ts.map +1 -1
  93. package/dist/pcomponents/PNodeVariable.js +2 -1
  94. package/dist/pcomponents/PNodeVariable.js.map +1 -1
  95. package/dist/pcomponents/PNumberAnimator.d.ts +8 -8
  96. package/dist/pcomponents/PNumberAnimator.d.ts.map +1 -1
  97. package/dist/pcomponents/PPhysicalMaterial.d.ts +2 -2
  98. package/dist/pcomponents/PPhysicalMaterial.d.ts.map +1 -1
  99. package/dist/pcomponents/PPlaneDetector.d.ts +2 -2
  100. package/dist/pcomponents/PPlaneDetector.d.ts.map +1 -1
  101. package/dist/pcomponents/PProjectRoot.d.ts +11 -11
  102. package/dist/pcomponents/PProjectRoot.d.ts.map +1 -1
  103. package/dist/pcomponents/PRotateAnimation.d.ts +5 -5
  104. package/dist/pcomponents/PRotateAnimation.d.ts.map +1 -1
  105. package/dist/pcomponents/PScaleAnimation.d.ts +3 -3
  106. package/dist/pcomponents/PScaleAnimation.d.ts.map +1 -1
  107. package/dist/pcomponents/PSceneContainer.d.ts +5 -5
  108. package/dist/pcomponents/PSceneContainer.d.ts.map +1 -1
  109. package/dist/pcomponents/PSceneRoot.d.ts +2 -2
  110. package/dist/pcomponents/PSceneRoot.d.ts.map +1 -1
  111. package/dist/pcomponents/PSlider.d.ts +5 -5
  112. package/dist/pcomponents/PSlider.d.ts.map +1 -1
  113. package/dist/pcomponents/PSound.d.ts +6 -6
  114. package/dist/pcomponents/PSound.d.ts.map +1 -1
  115. package/dist/pcomponents/PSpriteSheet.d.ts +4 -4
  116. package/dist/pcomponents/PSpriteSheet.d.ts.map +1 -1
  117. package/dist/pcomponents/PText.d.ts +4 -4
  118. package/dist/pcomponents/PText.d.ts.map +1 -1
  119. package/dist/pcomponents/PVarList.d.ts +10 -11
  120. package/dist/pcomponents/PVarList.d.ts.map +1 -1
  121. package/dist/pcomponents/PVarList.js +5 -8
  122. package/dist/pcomponents/PVarList.js.map +1 -1
  123. package/dist/pcomponents/PVideoPlayer.d.ts +6 -6
  124. package/dist/pcomponents/PVideoPlayer.d.ts.map +1 -1
  125. package/dist/pcomponents/PVisibility.d.ts +10 -10
  126. package/dist/pcomponents/PVisibility.d.ts.map +1 -1
  127. package/dist/pcomponents/PXRTools.d.ts +7 -7
  128. package/dist/pcomponents/PXRTools.d.ts.map +1 -1
  129. package/dist/plogics/PLAnd.d.ts +18 -0
  130. package/dist/plogics/PLAnd.d.ts.map +1 -0
  131. package/dist/plogics/PLAnd.js +45 -0
  132. package/dist/plogics/PLAnd.js.map +1 -0
  133. package/dist/plogics/PLCompare.d.ts +28 -0
  134. package/dist/plogics/PLCompare.d.ts.map +1 -0
  135. package/dist/plogics/PLCompare.js +63 -0
  136. package/dist/plogics/PLCompare.js.map +1 -0
  137. package/dist/plogics/PLEquals.d.ts +18 -0
  138. package/dist/plogics/PLEquals.d.ts.map +1 -0
  139. package/dist/plogics/PLEquals.js +46 -0
  140. package/dist/plogics/PLEquals.js.map +1 -0
  141. package/dist/plogics/PLOr.d.ts +18 -0
  142. package/dist/plogics/PLOr.d.ts.map +1 -0
  143. package/dist/plogics/PLOr.js +43 -0
  144. package/dist/plogics/PLOr.js.map +1 -0
  145. package/dist/ports/{IDBLink.d.ts → IDBEventLink.d.ts} +5 -5
  146. package/dist/ports/IDBEventLink.d.ts.map +1 -0
  147. package/dist/ports/IDBEventLink.js +2 -0
  148. package/dist/ports/IDBEventLink.js.map +1 -0
  149. package/dist/ports/IDBValueLink.d.ts +14 -0
  150. package/dist/ports/IDBValueLink.d.ts.map +1 -0
  151. package/dist/ports/IDBValueLink.js +2 -0
  152. package/dist/ports/IDBValueLink.js.map +1 -0
  153. package/dist/ports/PInEventPort.d.ts +8 -6
  154. package/dist/ports/PInEventPort.d.ts.map +1 -1
  155. package/dist/ports/PInEventPort.js +10 -5
  156. package/dist/ports/PInEventPort.js.map +1 -1
  157. package/dist/ports/PInValuePort.d.ts +13 -10
  158. package/dist/ports/PInValuePort.d.ts.map +1 -1
  159. package/dist/ports/PInValuePort.js +22 -38
  160. package/dist/ports/PInValuePort.js.map +1 -1
  161. package/dist/ports/PLink.d.ts +7 -5
  162. package/dist/ports/PLink.d.ts.map +1 -1
  163. package/dist/ports/PLink.js +12 -9
  164. package/dist/ports/PLink.js.map +1 -1
  165. package/dist/ports/POutEventPort.d.ts +9 -7
  166. package/dist/ports/POutEventPort.d.ts.map +1 -1
  167. package/dist/ports/POutEventPort.js +47 -31
  168. package/dist/ports/POutEventPort.js.map +1 -1
  169. package/dist/ports/POutValuePort.d.ts +16 -6
  170. package/dist/ports/POutValuePort.d.ts.map +1 -1
  171. package/dist/ports/POutValuePort.js +29 -6
  172. package/dist/ports/POutValuePort.js.map +1 -1
  173. package/dist/ports/PPort.d.ts +5 -2
  174. package/dist/ports/PPort.d.ts.map +1 -1
  175. package/dist/ports/PPort.js.map +1 -1
  176. package/dist/ports/PValueLink.d.ts +20 -0
  177. package/dist/ports/PValueLink.d.ts.map +1 -0
  178. package/dist/ports/PValueLink.js +39 -0
  179. package/dist/ports/PValueLink.js.map +1 -0
  180. package/package.json +1 -1
  181. package/dist/ports/IDBInValue.d.ts +0 -6
  182. package/dist/ports/IDBInValue.d.ts.map +0 -1
  183. package/dist/ports/IDBInValue.js +0 -2
  184. package/dist/ports/IDBInValue.js.map +0 -1
  185. package/dist/ports/IDBLink.d.ts.map +0 -1
  186. package/dist/ports/IDBLink.js +0 -2
  187. package/dist/ports/IDBLink.js.map +0 -1
  188. package/dist/ports/IDBPayloadValue.d.ts +0 -5
  189. package/dist/ports/IDBPayloadValue.d.ts.map +0 -1
  190. package/dist/ports/IDBPayloadValue.js +0 -2
  191. package/dist/ports/IDBPayloadValue.js.map +0 -1
  192. package/dist/ports/IValue.d.ts +0 -10
  193. package/dist/ports/IValue.d.ts.map +0 -1
  194. package/dist/ports/IValue.js +0 -2
  195. package/dist/ports/IValue.js.map +0 -1
  196. package/dist/ports/PInValue.d.ts +0 -17
  197. package/dist/ports/PInValue.d.ts.map +0 -1
  198. package/dist/ports/PInValue.js +0 -31
  199. package/dist/ports/PInValue.js.map +0 -1
  200. package/dist/ports/PPayloadValue.d.ts +0 -16
  201. package/dist/ports/PPayloadValue.d.ts.map +0 -1
  202. package/dist/ports/PPayloadValue.js +0 -28
  203. package/dist/ports/PPayloadValue.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IDBValueLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDBValueLink.js","sourceRoot":"","sources":["../../src/ports/IDBValueLink.ts"],"names":[],"mappings":""}
@@ -1,15 +1,17 @@
1
1
  import { PortTypes, DataType } from "../PEnums";
2
2
  import PLink from "./PLink";
3
- import { DBOutPort } from "./POutEventPort";
4
3
  import PPort, { PortCallback, PortOwner, type Payload } from "./PPort";
5
- type DBInPort = string | null | undefined;
6
- export { type DBInPort };
4
+ interface IDBInEventPort {
5
+ portId: number;
6
+ label: string | null;
7
+ }
8
+ export { type IDBInEventPort };
7
9
  export default class PInEventPort extends PPort {
8
10
  links: PLink[];
9
11
  callback: PortCallback;
10
- label: DBOutPort;
11
- constructor(portType: PortTypes, owner: PortOwner, portId: number, pid: number, componentPid: number, name: string, label: DBOutPort, dataType: DataType, callback: PortCallback);
12
- toDB(): DBInPort;
12
+ label: string | null;
13
+ constructor(portType: PortTypes, owner: PortOwner, portId: number, pid: number, componentPid: number, name: string, dbItem: IDBInEventPort | null | undefined, dataType: DataType, callback: PortCallback);
14
+ toDB(): IDBInEventPort | undefined;
13
15
  active(): boolean;
14
16
  onEmit(payload: Payload): void;
15
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PInEventPort.d.ts","sourceRoot":"","sources":["../../src/ports/PInEventPort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvE,KAAK,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAC1C,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;AAEzB,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;IAC7C,KAAK,EAAE,KAAK,EAAE,CAAM;IAEpB,QAAQ,EAAE,YAAY,CAAC;IAGvB,KAAK,EAAE,SAAS,CAAC;gBAGf,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY;IAOxB,IAAI,IAAI,QAAQ;IAKhB,MAAM;IAIN,MAAM,CAAC,OAAO,EAAE,OAAO;CAGxB"}
1
+ {"version":3,"file":"PInEventPort.d.ts","sourceRoot":"","sources":["../../src/ports/PInEventPort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvE,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,OAAO,EAAE,KAAK,cAAc,EAAE,CAAC;AAE/B,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;IAC7C,KAAK,EAAE,KAAK,EAAE,CAAM;IAEpB,QAAQ,EAAE,YAAY,CAAC;IAGvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAG1B,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACzC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY;IAUxB,IAAI,IAAI,cAAc,GAAG,SAAS;IAQlC,MAAM;IAIN,MAAM,CAAC,OAAO,EAAE,OAAO;CAGxB"}
@@ -3,16 +3,21 @@ export default class PInEventPort extends PPort {
3
3
  links = [];
4
4
  callback;
5
5
  // Port label
6
- label;
7
- constructor(portType, owner, portId, pid, componentPid, name, label, dataType, callback) {
6
+ label = null;
7
+ constructor(portType, owner, portId, pid, componentPid, name, dbItem, dataType, callback) {
8
8
  super(portType, owner, pid, componentPid, portId, name, dataType);
9
- this.label = label;
10
9
  this.callback = callback;
10
+ if (dbItem) {
11
+ this.label = dbItem.label || null;
12
+ }
11
13
  }
12
14
  toDB() {
13
- if (this.label === null || this.label === "")
15
+ if (!this.label)
14
16
  return undefined;
15
- return this.label === this.name ? undefined : this.label;
17
+ return {
18
+ portId: this.portId,
19
+ label: this.label,
20
+ };
16
21
  }
17
22
  active() {
18
23
  return this.owner.active();
@@ -1 +1 @@
1
- {"version":3,"file":"PInEventPort.js","sourceRoot":"","sources":["../../src/ports/PInEventPort.ts"],"names":[],"mappings":"AAGA,OAAO,KAAgD,MAAM,SAAS,CAAC;AAKvE,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;IAC7C,KAAK,GAAY,EAAE,CAAC;IAEpB,QAAQ,CAAe;IAEvB,aAAa;IACb,KAAK,CAAY;IAEjB,YACE,QAAmB,EACnB,KAAgB,EAChB,MAAc,EACd,GAAW,EACX,YAAoB,EACpB,IAAY,EACZ,KAAgB,EAChB,QAAkB,EAClB,QAAsB;QAEtB,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;YAAE,OAAO,SAAS,CAAC;QAC/D,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,OAAgB;QACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF"}
1
+ {"version":3,"file":"PInEventPort.js","sourceRoot":"","sources":["../../src/ports/PInEventPort.ts"],"names":[],"mappings":"AAEA,OAAO,KAAgD,MAAM,SAAS,CAAC;AASvE,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;IAC7C,KAAK,GAAY,EAAE,CAAC;IAEpB,QAAQ,CAAe;IAEvB,aAAa;IACb,KAAK,GAAkB,IAAI,CAAC;IAE5B,YACE,QAAmB,EACnB,KAAgB,EAChB,MAAc,EACd,GAAW,EACX,YAAoB,EACpB,IAAY,EACZ,MAAyC,EACzC,QAAkB,EAClB,QAAsB;QAEtB,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAClC,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,OAAgB;QACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF"}
@@ -1,18 +1,21 @@
1
- import GameContext from "../GameContext";
2
- import PComponent from "../PComponent";
3
1
  import { DataType, PortTypes } from "../PEnums";
4
- import PPort, { Payload } from "./PPort";
5
- import PInValue from "./PInValue";
2
+ import PPort, { Payload, PortOwner } from "./PPort";
3
+ import PValueLink from "./PValueLink";
4
+ interface IDBInValuePort {
5
+ portId: number;
6
+ label: string | null;
7
+ staticValue: string | null;
8
+ }
9
+ export { type IDBInValuePort };
6
10
  /**
7
11
  * PInValuePort only exists on PNodes at the moment.
8
12
  */
9
13
  export default class PInValuePort extends PPort {
10
- value: PInValue | null;
11
- constructor(portType: PortTypes, component: PComponent, portId: number, name: string, pinDataType: DataType);
12
- /**
13
- * Always called on PComponent PInValuePort.
14
- */
15
- link(context: GameContext, value: PInValue): void;
14
+ links: PValueLink | null;
15
+ staticValue: string | null;
16
+ label: string | null;
17
+ constructor(portType: PortTypes, owner: PortOwner, portId: number, pid: number, componentPid: number, name: string, dbItem: IDBInValuePort | null | undefined, pinDataType: DataType);
18
+ toDB(): IDBInValuePort | undefined;
16
19
  runtime_value(): Payload;
17
20
  }
18
21
  //# sourceMappingURL=PInValuePort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PInValuePort.d.ts","sourceRoot":"","sources":["../../src/ports/PInValuePort.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;IAE7C,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAQ;gBAG5B,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,QAAQ;IAavB;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ;IAqB1C,aAAa,IAAI,OAAO;CAgBzB"}
1
+ {"version":3,"file":"PInValuePort.d.ts","sourceRoot":"","sources":["../../src/ports/PInValuePort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,OAAO,EAAE,KAAK,cAAc,EAAE,CAAC;AAE/B;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;IAC7C,KAAK,EAAE,UAAU,GAAG,IAAI,CAAQ;IAChC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAElC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAG1B,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACzC,WAAW,EAAE,QAAQ;IASvB,IAAI,IAAI,cAAc,GAAG,SAAS;IASlC,aAAa,IAAI,OAAO;CASzB"}
@@ -1,51 +1,35 @@
1
- import { DataType, PortTypes } from "../PEnums";
2
1
  import PPort from "./PPort";
3
2
  /**
4
3
  * PInValuePort only exists on PNodes at the moment.
5
4
  */
6
5
  export default class PInValuePort extends PPort {
7
- // We only have 1 in value for these ports
8
- value = null;
9
- constructor(portType, component, portId, name, pinDataType) {
10
- super(portType, component, component.node.pid, component.pid, portId, name, pinDataType);
11
- }
12
- /**
13
- * Always called on PComponent PInValuePort.
14
- */
15
- link(context, value) {
16
- this.value = value;
17
- value.inPort = this;
18
- // Are we linked? Might happen if set from admin
19
- if (value.outPort) {
20
- const index = value.outPort.links.indexOf(value);
21
- if (index >= 0)
22
- value.outPort.links.splice(index, 1);
23
- value.outPort = null;
24
- }
25
- // Are we linked to a node?
26
- if (value.portType & (PortTypes.PNode | PortTypes.Variable)) {
27
- value.outPort = context.findOutValuePort(value);
28
- if (value.outPort) {
29
- value.outPort.links.push(value);
30
- }
6
+ links = null;
7
+ staticValue = null;
8
+ label = null;
9
+ constructor(portType, owner, portId, pid, componentPid, name, dbItem, pinDataType) {
10
+ super(portType, owner, pid, componentPid, portId, name, pinDataType);
11
+ if (dbItem) {
12
+ this.label = dbItem.label;
13
+ this.staticValue = dbItem.staticValue;
31
14
  }
32
15
  }
16
+ toDB() {
17
+ if (!this.label && !this.staticValue)
18
+ return undefined;
19
+ return {
20
+ portId: this.portId,
21
+ label: this.label || null,
22
+ staticValue: this.staticValue || null,
23
+ };
24
+ }
33
25
  runtime_value() {
34
- if (this.value?.outPort)
35
- return this.value.outPort.runtime_value();
36
- if (!this.value)
37
- return null;
38
- if (this.dataType === DataType.Scene) {
39
- return this.value.pid.toString();
40
- }
41
- else if (this.dataType === DataType.Node) {
42
- return this.value.pid.toString();
26
+ if (this.links !== null) {
27
+ if (this.links.outPort !== null)
28
+ return this.links.outPort.runtime_value();
29
+ return "";
43
30
  }
44
31
  else {
45
- if (this.value.staticValue === null ||
46
- this.value.staticValue === undefined)
47
- return "";
48
- return this.value.staticValue;
32
+ return this.staticValue || "";
49
33
  }
50
34
  }
51
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PInValuePort.js","sourceRoot":"","sources":["../../src/ports/PInValuePort.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAkB,MAAM,SAAS,CAAC;AAGzC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;IAC7C,0CAA0C;IAC1C,KAAK,GAAoB,IAAI,CAAC;IAE9B,YACE,QAAmB,EACnB,SAAqB,EACrB,MAAc,EACd,IAAY,EACZ,WAAqB;QAErB,KAAK,CACH,QAAQ,EACR,SAAS,EACT,SAAS,CAAC,IAAI,CAAC,GAAG,EAClB,SAAS,CAAC,GAAG,EACb,MAAM,EACN,IAAI,EACJ,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAoB,EAAE,KAAe;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAEpB,gDAAgD;QAChD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,KAAK,IAAI,CAAC;gBAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACrD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC;QAED,2BAA2B;QAC3B,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5D,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,IACE,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI;gBAC/B,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;gBAEpC,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAChC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"PInValuePort.js","sourceRoot":"","sources":["../../src/ports/PInValuePort.ts"],"names":[],"mappings":"AACA,OAAO,KAA6B,MAAM,SAAS,CAAC;AAWpD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;IAC7C,KAAK,GAAsB,IAAI,CAAC;IAChC,WAAW,GAAkB,IAAI,CAAC;IAElC,KAAK,GAAkB,IAAI,CAAC;IAE5B,YACE,QAAmB,EACnB,KAAgB,EAChB,MAAc,EACd,GAAW,EACX,YAAoB,EACpB,IAAY,EACZ,MAAyC,EACzC,WAAqB;QAErB,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACxC,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QACvD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;SACtC,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI;gBAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC5C,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;CACF"}
@@ -1,9 +1,9 @@
1
1
  import PInEventPort from "./PInEventPort";
2
2
  import POutEventPort from "./POutEventPort";
3
- import { type IDBLink } from "./IDBLink";
3
+ import { type IDBEventLink } from "./IDBEventLink";
4
4
  import { PortTypes } from "../PEnums";
5
- import PPayloadValue from "./PPayloadValue";
6
5
  import PItem from "../PItem";
6
+ import PInValuePort from "./PInValuePort";
7
7
  export default class PLink extends PItem {
8
8
  index: number;
9
9
  outPortType: PortTypes;
@@ -14,10 +14,12 @@ export default class PLink extends PItem {
14
14
  inPid: number;
15
15
  inComponentPid: number;
16
16
  inPortId: number;
17
- payload: PPayloadValue | null;
17
+ inValuePort: PInValuePort;
18
18
  outPort: POutEventPort | null;
19
19
  inPort: PInEventPort | null;
20
- constructor(dbItem: IDBLink);
21
- toDB(): IDBLink;
20
+ constructor(dbItem: IDBEventLink);
21
+ toDB(): IDBEventLink;
22
+ active(): boolean;
23
+ hasCustomPayload(): boolean;
22
24
  }
23
25
  //# sourceMappingURL=PLink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PLink.d.ts","sourceRoot":"","sources":["../../src/ports/PLink.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,UAAU,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,KAAK;IACtC,KAAK,EAAE,MAAM,CAAC;IAEd,WAAW,EAAE,SAAS,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IAEjB,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAE9B,OAAO,EAAE,aAAa,GAAG,IAAI,CAAQ;IACrC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAQ;gBAEvB,MAAM,EAAE,OAAO;IAsB3B,IAAI,IAAI,OAAO;CAqBhB"}
1
+ {"version":3,"file":"PLink.d.ts","sourceRoot":"","sources":["../../src/ports/PLink.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAY,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,KAAK;IACtC,KAAK,EAAE,MAAM,CAAC;IAEd,WAAW,EAAE,SAAS,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IAEjB,WAAW,EAAE,YAAY,CAAC;IAG1B,OAAO,EAAE,aAAa,GAAG,IAAI,CAAQ;IACrC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAQ;gBAEvB,MAAM,EAAE,YAAY;IA2BhC,IAAI,IAAI,YAAY;IAoBpB,MAAM,IAAI,OAAO;IAIjB,gBAAgB;CAKjB"}
@@ -1,5 +1,6 @@
1
- import PPayloadValue from "./PPayloadValue";
1
+ import { DataType, PortTypes } from "../PEnums";
2
2
  import PItem from "../PItem";
3
+ import PInValuePort from "./PInValuePort";
3
4
  export default class PLink extends PItem {
4
5
  index;
5
6
  outPortType;
@@ -10,7 +11,8 @@ export default class PLink extends PItem {
10
11
  inPid;
11
12
  inComponentPid;
12
13
  inPortId;
13
- payload;
14
+ inValuePort;
15
+ // Bound ports
14
16
  outPort = null;
15
17
  inPort = null;
16
18
  constructor(dbItem) {
@@ -24,12 +26,7 @@ export default class PLink extends PItem {
24
26
  this.inPid = dbItem.inPid;
25
27
  this.inComponentPid = dbItem.inComponentPid;
26
28
  this.inPortId = dbItem.inPortId;
27
- if (dbItem.payload) {
28
- this.payload = new PPayloadValue(dbItem.payload);
29
- }
30
- else {
31
- this.payload = null;
32
- }
29
+ this.inValuePort = new PInValuePort(PortTypes.EventLink, this, 1, this.pid, 0, "Payload Value", dbItem.inValuePort, DataType.None);
33
30
  }
34
31
  toDB() {
35
32
  return {
@@ -43,8 +40,14 @@ export default class PLink extends PItem {
43
40
  inPid: this.inPid,
44
41
  inComponentPid: this.inComponentPid,
45
42
  inPortId: this.inPortId,
46
- payload: this.payload ? this.payload.toDB() : null,
43
+ inValuePort: this.inValuePort.toDB(),
47
44
  };
48
45
  }
46
+ active() {
47
+ return this.outPort.owner.active() && this.inPort.owner.active();
48
+ }
49
+ hasCustomPayload() {
50
+ return (this.inValuePort.links !== null || this.inValuePort.staticValue !== null);
51
+ }
49
52
  }
50
53
  //# sourceMappingURL=PLink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PLink.js","sourceRoot":"","sources":["../../src/ports/PLink.ts"],"names":[],"mappings":"AAIA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,UAAU,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,KAAK;IACtC,KAAK,CAAS;IAEd,WAAW,CAAY;IACvB,MAAM,CAAS;IACf,eAAe,CAAS;IACxB,SAAS,CAAS;IAElB,UAAU,CAAY;IACtB,KAAK,CAAS;IACd,cAAc,CAAS;IACvB,QAAQ,CAAS;IAEjB,OAAO,CAAuB;IAE9B,OAAO,GAAyB,IAAI,CAAC;IACrC,MAAM,GAAwB,IAAI,CAAC;IAEnC,YAAY,MAAe;QACzB,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAE/B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAElC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEhC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI;QACF,OAAO;YACL,GAAG,KAAK,CAAC,IAAI,EAAE;YAEf,KAAK,EAAE,IAAI,CAAC,KAAK;YAEjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YAEzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YAEvB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;SACnD,CAAC;IACJ,CAAC;CAGF"}
1
+ {"version":3,"file":"PLink.js","sourceRoot":"","sources":["../../src/ports/PLink.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,KAAK;IACtC,KAAK,CAAS;IAEd,WAAW,CAAY;IACvB,MAAM,CAAS;IACf,eAAe,CAAS;IACxB,SAAS,CAAS;IAElB,UAAU,CAAY;IACtB,KAAK,CAAS;IACd,cAAc,CAAS;IACvB,QAAQ,CAAS;IAEjB,WAAW,CAAe;IAE1B,cAAc;IACd,OAAO,GAAyB,IAAI,CAAC;IACrC,MAAM,GAAwB,IAAI,CAAC;IAEnC,YAAY,MAAoB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAE/B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAElC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEhC,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,CACjC,SAAS,CAAC,SAAS,EACnB,IAAI,EACJ,CAAC,EACD,IAAI,CAAC,GAAG,EACR,CAAC,EACD,eAAe,EACf,MAAM,CAAC,WAAW,EAClB,QAAQ,CAAC,IAAI,CACd,CAAC;IACJ,CAAC;IAED,IAAI;QACF,OAAO;YACL,GAAG,KAAK,CAAC,IAAI,EAAE;YAEf,KAAK,EAAE,IAAI,CAAC,KAAK;YAEjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YAEzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YAEvB,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;SACrC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACrE,CAAC;IAED,gBAAgB;QACd,OAAO,CACL,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,KAAK,IAAI,CACzE,CAAC;IACJ,CAAC;CACF"}
@@ -1,19 +1,21 @@
1
- import GameContext from "../GameContext";
2
1
  import { DataType, PortTypes } from "../PEnums";
3
2
  import PLink from "./PLink";
4
3
  import PInEventPort from "./PInEventPort";
5
4
  import PPort, { Payload, PortOwner } from "./PPort";
6
- type DBOutPort = string | null | undefined;
7
- export { type DBOutPort };
5
+ interface IDBOutEventPort {
6
+ portId: number;
7
+ label: string | null;
8
+ }
9
+ export { type IDBOutEventPort };
8
10
  export default class POutEventPort extends PPort {
9
11
  links: PLink[];
10
- label: DBOutPort;
11
- constructor(portType: PortTypes, owner: PortOwner, portId: number, pid: number, componentPid: number, name: string, label: DBOutPort, dataType: DataType);
12
- toDB(): DBOutPort;
12
+ label: string | null;
13
+ constructor(portType: PortTypes, owner: PortOwner, portId: number, pid: number, componentPid: number, name: string, dbItem: IDBOutEventPort | null | undefined, dataType: DataType);
14
+ toDB(): IDBOutEventPort | undefined;
13
15
  /**
14
16
  * This can be called from all Out Event Port types: Nodes, Events and Variables.
15
17
  */
16
- link(context: GameContext, inPort: PInEventPort, plink: PLink): void;
18
+ link(inPort: PInEventPort, plink: PLink): void;
17
19
  isLinked(to: PInEventPort): boolean;
18
20
  emit(payload: Payload): void;
19
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"POutEventPort.d.ts","sourceRoot":"","sources":["../../src/ports/POutEventPort.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpD,KAAK,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,SAAS,EAAE,CAAC;AAE1B,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK;IAC9C,KAAK,EAAE,KAAK,EAAE,CAAM;IAGpB,KAAK,EAAE,SAAS,CAAC;gBAGf,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ;IAOpB,IAAI,IAAI,SAAS;IAKjB;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK;IA0B7D,QAAQ,CAAC,EAAE,EAAE,YAAY;IAIzB,IAAI,CAAC,OAAO,EAAE,OAAO;CAkBtB"}
1
+ {"version":3,"file":"POutEventPort.d.ts","sourceRoot":"","sources":["../../src/ports/POutEventPort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpD,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,OAAO,EAAE,KAAK,eAAe,EAAE,CAAC;AAEhC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK;IAC9C,KAAK,EAAE,KAAK,EAAE,CAAM;IAGpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAG1B,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EAC1C,QAAQ,EAAE,QAAQ;IASpB,IAAI,IAAI,eAAe,GAAG,SAAS;IAQnC;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK;IAmCvC,QAAQ,CAAC,EAAE,EAAE,YAAY;IAIzB,IAAI,CAAC,OAAO,EAAE,OAAO;CAsBtB"}
@@ -1,23 +1,27 @@
1
- import { PortTypes } from "../PEnums";
2
1
  import PPort from "./PPort";
3
2
  export default class POutEventPort extends PPort {
4
3
  links = [];
5
4
  // Port label
6
- label;
7
- constructor(portType, owner, portId, pid, componentPid, name, label, dataType) {
5
+ label = null;
6
+ constructor(portType, owner, portId, pid, componentPid, name, dbItem, dataType) {
8
7
  super(portType, owner, pid, componentPid, portId, name, dataType);
9
8
  this.owner = owner;
10
- this.label = label;
9
+ if (dbItem) {
10
+ this.label = dbItem.label || null;
11
+ }
11
12
  }
12
13
  toDB() {
13
- if (this.label === null || this.label === "")
14
+ if (!this.label)
14
15
  return undefined;
15
- return this.label === this.name ? undefined : this.label;
16
+ return {
17
+ portId: this.portId,
18
+ label: this.label,
19
+ };
16
20
  }
17
21
  /**
18
22
  * This can be called from all Out Event Port types: Nodes, Events and Variables.
19
23
  */
20
- link(context, inPort, plink) {
24
+ link(inPort, plink) {
21
25
  plink.outPort = this;
22
26
  plink.inPort = inPort;
23
27
  this.links.push(plink);
@@ -25,39 +29,51 @@ export default class POutEventPort extends PPort {
25
29
  // Set index
26
30
  plink.index = this.links.length - 1;
27
31
  // Payload override?
28
- if (plink.payload) {
29
- // We bind here, since this is the owner port for this value link
30
- const pvalue = plink.payload;
31
- pvalue.plink = plink;
32
- // Are we linked to a node?
33
- if (pvalue.portType & (PortTypes.PNode | PortTypes.Variable)) {
34
- pvalue.outPort = context.findOutValuePort(pvalue);
35
- // And add to from port value array
36
- pvalue.outPort.links.push(pvalue);
37
- }
38
- }
32
+ // if (plink.payload) {
33
+ // // We bind here, since this is the owner port for this value link
34
+ // const pvalue = plink.payload;
35
+ // pvalue.plink = plink;
36
+ // // Are we linked to a node?
37
+ // if (
38
+ // pvalue.portType &
39
+ // (PortTypes.PNode |
40
+ // PortTypes.Variable |
41
+ // PortTypes.Value |
42
+ // PortTypes.Logic)
43
+ // ) {
44
+ // pvalue.outPort = context.findOutValuePort(pvalue);
45
+ // if (!pvalue.outPort) {
46
+ // console.error("outPort not found", pvalue);
47
+ // return;
48
+ // }
49
+ // // And add to from port value array
50
+ // pvalue.outPort!.links.push(pvalue);
51
+ // }
52
+ // }
39
53
  }
40
54
  isLinked(to) {
41
55
  return this.links.some((l) => l.inPort === to);
42
56
  }
43
57
  emit(payload) {
44
58
  for (const link of this.links) {
59
+ // Skip unrendered nodes
45
60
  if (!link.inPort?.active())
46
61
  continue;
47
- if (link.payload !== null) {
48
- if (link.payload.portType === PortTypes.Static) {
49
- // Check target data type
50
- if (link.payload.pid > 0) {
51
- payload = link.payload.pid.toString();
52
- }
53
- else {
54
- payload = link.payload.staticValue;
55
- }
56
- }
57
- else if (link.payload.outPort !== null) {
58
- payload = link.payload.outPort.runtime_value();
59
- }
62
+ if (link.inValuePort.links !== null) {
63
+ payload = link.inValuePort.runtime_value();
60
64
  }
65
+ // if (link.payload !== null) {
66
+ // if (link.payload.portType === PortTypes.Static) {
67
+ // // Check target data type
68
+ // if (link.payload.pid > 0) {
69
+ // payload = link.payload.pid.toString();
70
+ // } else {
71
+ // payload = link.payload.staticValue;
72
+ // }
73
+ // } else if (link.payload.outPort !== null) {
74
+ // payload = link.payload.outPort.runtime_value();
75
+ // }
76
+ // }
61
77
  link.inPort?.onEmit(payload);
62
78
  }
63
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"POutEventPort.js","sourceRoot":"","sources":["../../src/ports/POutEventPort.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,SAAS,EAAE,MAAM,WAAW,CAAC;AAGhD,OAAO,KAA6B,MAAM,SAAS,CAAC;AAKpD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK;IAC9C,KAAK,GAAY,EAAE,CAAC;IAEpB,aAAa;IACb,KAAK,CAAY;IAEjB,YACE,QAAmB,EACnB,KAAgB,EAChB,MAAc,EACd,GAAW,EACX,YAAoB,EACpB,IAAY,EACZ,KAAgB,EAChB,QAAkB;QAElB,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;YAAE,OAAO,SAAS,CAAC;QAC/D,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAoB,EAAE,MAAoB,EAAE,KAAY;QAC3D,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzB,YAAY;QACZ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAEpC,oBAAoB;QACpB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,iEAAiE;YACjE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;YAC7B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YAErB,2BAA2B;YAC3B,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAElD,mCAAmC;gBACnC,MAAM,CAAC,OAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,EAAgB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,OAAgB;QACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;gBAAE,SAAS;YACrC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC/C,yBAAyB;oBACzB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;wBACzB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;oBACrC,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBACzC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBACjD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"POutEventPort.js","sourceRoot":"","sources":["../../src/ports/POutEventPort.ts"],"names":[],"mappings":"AAGA,OAAO,KAA6B,MAAM,SAAS,CAAC;AASpD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK;IAC9C,KAAK,GAAY,EAAE,CAAC;IAEpB,aAAa;IACb,KAAK,GAAkB,IAAI,CAAC;IAE5B,YACE,QAAmB,EACnB,KAAgB,EAChB,MAAc,EACd,GAAW,EACX,YAAoB,EACpB,IAAY,EACZ,MAA0C,EAC1C,QAAkB;QAElB,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAClC,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,MAAoB,EAAE,KAAY;QACrC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzB,YAAY;QACZ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAEpC,oBAAoB;QACpB,uBAAuB;QACvB,sEAAsE;QACtE,kCAAkC;QAClC,0BAA0B;QAE1B,gCAAgC;QAChC,SAAS;QACT,wBAAwB;QACxB,yBAAyB;QACzB,6BAA6B;QAC7B,0BAA0B;QAC1B,yBAAyB;QACzB,QAAQ;QACR,yDAAyD;QACzD,6BAA6B;QAC7B,oDAAoD;QACpD,gBAAgB;QAChB,QAAQ;QACR,0CAA0C;QAC1C,0CAA0C;QAC1C,MAAM;QACN,IAAI;IACN,CAAC;IAED,QAAQ,CAAC,EAAgB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,OAAgB;QACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,wBAAwB;YACxB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;gBAAE,SAAS;YACrC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACpC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YAC7C,CAAC;YACD,+BAA+B;YAC/B,sDAAsD;YACtD,gCAAgC;YAChC,kCAAkC;YAClC,+CAA+C;YAC/C,eAAe;YACf,4CAA4C;YAC5C,QAAQ;YACR,gDAAgD;YAChD,sDAAsD;YACtD,MAAM;YACN,IAAI;YACJ,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;CACF"}
@@ -1,13 +1,23 @@
1
1
  import { DataType, PortTypes } from "../PEnums";
2
2
  import PPort, { OutValueGetter, PortOwner } from "./PPort";
3
- import { DBOutPort } from "./POutEventPort";
4
- import { IValue } from "./IValue";
3
+ import PInValuePort from "./PInValuePort";
4
+ import PValueLink from "./PValueLink";
5
+ interface IDBOutValuePort {
6
+ portId: number;
7
+ label: string | null;
8
+ }
9
+ export { type IDBOutValuePort };
5
10
  export default class POutValuePort extends PPort {
6
- links: IValue[];
7
- label: DBOutPort;
11
+ links: PValueLink[];
12
+ label: string | null;
8
13
  private getValue;
9
- constructor(portType: PortTypes, owner: PortOwner, pid: number, componentPid: number, portId: number, name: string, label: DBOutPort, pinDataType: DataType, getValue: OutValueGetter);
14
+ constructor(portType: PortTypes, owner: PortOwner, pid: number, componentPid: number, portId: number, name: string, dbItem: IDBOutValuePort | null | undefined, pinDataType: DataType, getValue: OutValueGetter);
10
15
  runtime_value(): string | null;
11
- toDB(): DBOutPort;
16
+ toDB(): IDBOutValuePort | undefined;
17
+ isLinked(to: PInValuePort): boolean;
18
+ /**
19
+ * This can be called from all Out Event Port types: Nodes, Events and Variables.
20
+ */
21
+ link(inPort: PInValuePort, pvalueLink: PValueLink): void;
12
22
  }
13
23
  //# sourceMappingURL=POutValuePort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"POutValuePort.d.ts","sourceRoot":"","sources":["../../src/ports/POutValuePort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK;IAC9C,KAAK,EAAE,MAAM,EAAE,CAAM;IAGrB,KAAK,EAAE,SAAS,CAAC;IAEjB,OAAO,CAAC,QAAQ,CAAiB;gBAG/B,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,cAAc;IAO1B,aAAa;IAIb,IAAI,IAAI,SAAS;CAIlB"}
1
+ {"version":3,"file":"POutValuePort.d.ts","sourceRoot":"","sources":["../../src/ports/POutValuePort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,OAAO,EAAE,KAAK,eAAe,EAAE,CAAC;AAEhC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK;IAC9C,KAAK,EAAE,UAAU,EAAE,CAAM;IAGzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE5B,OAAO,CAAC,QAAQ,CAAiB;gBAG/B,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EAC1C,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,cAAc;IAS1B,aAAa;IAIb,IAAI,IAAI,eAAe,GAAG,SAAS;IAQnC,QAAQ,CAAC,EAAE,EAAE,YAAY;IAIzB;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU;CAclD"}
@@ -2,20 +2,43 @@ import PPort from "./PPort";
2
2
  export default class POutValuePort extends PPort {
3
3
  links = [];
4
4
  // Port label
5
- label;
5
+ label = null;
6
6
  getValue;
7
- constructor(portType, owner, pid, componentPid, portId, name, label, pinDataType, getValue) {
7
+ constructor(portType, owner, pid, componentPid, portId, name, dbItem, pinDataType, getValue) {
8
8
  super(portType, owner, pid, componentPid, portId, name, pinDataType);
9
- this.label = label;
10
9
  this.getValue = getValue;
10
+ if (dbItem) {
11
+ this.label = dbItem.label;
12
+ }
11
13
  }
12
14
  runtime_value() {
13
- return this.getValue.apply(this.owner);
15
+ return this.getValue.apply(this.owner, [this.portId]);
14
16
  }
15
17
  toDB() {
16
- if (this.label === null || this.label === "")
18
+ if (!this.label)
17
19
  return undefined;
18
- return this.label === this.name ? undefined : this.label;
20
+ return {
21
+ portId: this.portId,
22
+ label: this.label,
23
+ };
24
+ }
25
+ isLinked(to) {
26
+ return this.links.some((l) => l.inPort === to);
27
+ }
28
+ /**
29
+ * This can be called from all Out Event Port types: Nodes, Events and Variables.
30
+ */
31
+ link(inPort, pvalueLink) {
32
+ pvalueLink.outPort = this;
33
+ pvalueLink.inPort = inPort;
34
+ // Add to my out links
35
+ this.links.push(pvalueLink);
36
+ // Set as target in link (single
37
+ inPort.links = pvalueLink;
38
+ // PLink
39
+ // if (inPort.portType === 64) {
40
+ // inPort.dataType = 64;
41
+ // }
19
42
  }
20
43
  }
21
44
  //# sourceMappingURL=POutValuePort.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"POutValuePort.js","sourceRoot":"","sources":["../../src/ports/POutValuePort.ts"],"names":[],"mappings":"AACA,OAAO,KAAoC,MAAM,SAAS,CAAC;AAI3D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK;IAC9C,KAAK,GAAa,EAAE,CAAC;IAErB,aAAa;IACb,KAAK,CAAY;IAET,QAAQ,CAAiB;IAEjC,YACE,QAAmB,EACnB,KAAgB,EAChB,GAAW,EACX,YAAoB,EACpB,MAAc,EACd,IAAY,EACZ,KAAgB,EAChB,WAAqB,EACrB,QAAwB;QAExB,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;YAAE,OAAO,SAAS,CAAC;QAC/D,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3D,CAAC;CACF"}
1
+ {"version":3,"file":"POutValuePort.js","sourceRoot":"","sources":["../../src/ports/POutValuePort.ts"],"names":[],"mappings":"AACA,OAAO,KAAoC,MAAM,SAAS,CAAC;AAW3D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK;IAC9C,KAAK,GAAiB,EAAE,CAAC;IAEzB,aAAa;IACb,KAAK,GAAkB,IAAI,CAAC;IAEpB,QAAQ,CAAiB;IAEjC,YACE,QAAmB,EACnB,KAAgB,EAChB,GAAW,EACX,YAAoB,EACpB,MAAc,EACd,IAAY,EACZ,MAA0C,EAC1C,WAAqB,EACrB,QAAwB;QAExB,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAClC,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,EAAgB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,MAAoB,EAAE,UAAsB;QAC/C,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QAE3B,sBAAsB;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,gCAAgC;QAChC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;QAE1B,QAAQ;QACR,gCAAgC;QAChC,0BAA0B;QAC1B,IAAI;IACN,CAAC;CACF"}
@@ -3,10 +3,13 @@ import { DataType, PortTypes } from "../PEnums";
3
3
  import PComponent from "../PComponent";
4
4
  import PEvent from "../PEvent";
5
5
  import { PVariable } from "../PVariable";
6
+ import PValue from "../PValue";
7
+ import PLogic from "../PLogic";
8
+ import PLink from "./PLink";
6
9
  type Payload = string | null;
7
10
  type PortCallback = (payload: Payload) => void;
8
- type OutValueGetter = () => string | null;
9
- type PortOwner = PComponent | PEvent | PVariable;
11
+ type OutValueGetter = (portId: number) => string | null;
12
+ type PortOwner = PComponent | PEvent | PVariable | PValue | PLogic | PLink;
10
13
  export { type Payload, type PortCallback, type PortOwner, type OutValueGetter };
11
14
  export default abstract class PPort implements IPort {
12
15
  owner: PortOwner;
@@ -1 +1 @@
1
- {"version":3,"file":"PPort.d.ts","sourceRoot":"","sources":["../../src/ports/PPort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,KAAK,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;AAC7B,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAC/C,KAAK,cAAc,GAAG,MAAM,MAAM,GAAG,IAAI,CAAC;AAE1C,KAAK,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAEjD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,CAAC;AAEhF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,KAAM,YAAW,KAAK;IAClD,KAAK,EAAE,SAAS,CAAC;IAGjB,QAAQ,EAAE,SAAS,CAAC;IAGpB,GAAG,EAAE,MAAM,CAAC;IAGZ,YAAY,EAAE,MAAM,CAAC;IAGrB,MAAM,EAAE,MAAM,CAAC;IAGf,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,EAAE,QAAQ,CAAC;gBAGjB,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ;CAUrB"}
1
+ {"version":3,"file":"PPort.d.ts","sourceRoot":"","sources":["../../src/ports/PPort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,KAAK,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;AAC7B,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAC/C,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;AAExD,KAAK,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE3E,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,CAAC;AAEhF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,KAAM,YAAW,KAAK;IAClD,KAAK,EAAE,SAAS,CAAC;IAGjB,QAAQ,EAAE,SAAS,CAAC;IAGpB,GAAG,EAAE,MAAM,CAAC;IAGZ,YAAY,EAAE,MAAM,CAAC;IAGrB,MAAM,EAAE,MAAM,CAAC;IAGf,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,EAAE,QAAQ,CAAC;gBAGjB,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ;CAUrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"PPort.js","sourceRoot":"","sources":["../../src/ports/PPort.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,OAAO,OAAgB,KAAK;IACjC,KAAK,CAAY;IAEjB,eAAe;IACf,QAAQ,CAAY;IAEpB,4BAA4B;IAC5B,GAAG,CAAS;IAEZ,8BAA8B;IAC9B,YAAY,CAAS;IAErB,sCAAsC;IACtC,MAAM,CAAS;IAEf,YAAY;IACZ,IAAI,CAAS;IAEb,mBAAmB;IACnB,QAAQ,CAAW;IAEnB,YACE,QAAmB,EACnB,KAAgB,EAChB,GAAW,EACX,YAAoB,EACpB,MAAc,EACd,IAAY,EACZ,QAAkB;QAElB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"PPort.js","sourceRoot":"","sources":["../../src/ports/PPort.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,OAAO,OAAgB,KAAK;IACjC,KAAK,CAAY;IAEjB,eAAe;IACf,QAAQ,CAAY;IAEpB,4BAA4B;IAC5B,GAAG,CAAS;IAEZ,8BAA8B;IAC9B,YAAY,CAAS;IAErB,sCAAsC;IACtC,MAAM,CAAS;IAEf,YAAY;IACZ,IAAI,CAAS;IAEb,mBAAmB;IACnB,QAAQ,CAAW;IAEnB,YACE,QAAmB,EACnB,KAAgB,EAChB,GAAW,EACX,YAAoB,EACpB,MAAc,EACd,IAAY,EACZ,QAAkB;QAElB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import { PortTypes } from "../PEnums";
2
+ import PItem from "../PItem";
3
+ import POutValuePort from "./POutValuePort";
4
+ import PInValuePort from "./PInValuePort";
5
+ import { IDBValueLink } from "./IDBValueLink";
6
+ export default class PValueLink extends PItem {
7
+ outPortType: PortTypes;
8
+ outPid: number;
9
+ outComponentPid: number;
10
+ outPortId: number;
11
+ inPortType: PortTypes;
12
+ inPid: number;
13
+ inComponentPid: number;
14
+ inPortId: number;
15
+ outPort: POutValuePort | null;
16
+ inPort: PInValuePort | null;
17
+ constructor(dbItem: IDBValueLink);
18
+ toDB(): IDBValueLink;
19
+ }
20
+ //# sourceMappingURL=PValueLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PValueLink.d.ts","sourceRoot":"","sources":["../../src/ports/PValueLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,KAAK;IAC3C,WAAW,EAAE,SAAS,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IAGjB,OAAO,EAAE,aAAa,GAAG,IAAI,CAAQ;IACrC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAQ;gBAEvB,MAAM,EAAE,YAAY;IAchC,IAAI,IAAI,YAAY;CAerB"}