unreal-toolkit-next 0.1.6 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -4,7 +4,7 @@ with your hosted Unreal Engine streaming web application.
4
4
 
5
5
  <a href="https://www.npmjs.com/package/unreal-toolkit">Classic Edition (UMD)</a>
6
6
  <br/>
7
- <a href="https://github.com/UnrealJS/UnrealToolkit/tree/master/Runtime">Browser Edition (CDN)</a>
7
+ <a href="https://github.com/MackeyK24/UnrealToolkit/tree/master/Runtime">Browser Edition (CDN)</a>
8
8
 
9
9
 
10
10
  ## Default Installation (ES6)
package/dist/index.d.ts CHANGED
@@ -24,8 +24,7 @@ export declare class UnrealToolkit {
24
24
  * @class UnrealMessageBus - All rights reserved (c) 2024 Mackey Kinard
25
25
  */
26
26
  export declare class UnrealMessageBus {
27
- /** Unreal Message Bus API Key */
28
- static ApiKey: string;
27
+ RequiredOrigin: string;
29
28
  constructor();
30
29
  /** Handle event bus message
31
30
  * @param message The message to handle
@@ -40,7 +39,7 @@ export declare class UnrealMessageBus {
40
39
  * @param transfer The transfer to post
41
40
  * @returns void
42
41
  */
43
- PostMessage(message: string, data?: string): void;
42
+ PostMessage(message: string, data?: string, targetOrigin?: string): void;
44
43
  /** Remove event bus message handler
45
44
  * @param message The message to remove
46
45
  * @param handler The handler to remove
package/dist/index.js CHANGED
@@ -29,6 +29,7 @@ UnrealToolkit._EventBus = null;
29
29
  */
30
30
  export class UnrealMessageBus {
31
31
  constructor() {
32
+ this.RequiredOrigin = "*";
32
33
  this.ListenerDictionary = {};
33
34
  if (window && window.top) {
34
35
  this.HandleWindowMessage = this.HandleWindowMessage.bind(this);
@@ -63,9 +64,9 @@ export class UnrealMessageBus {
63
64
  * @param transfer The transfer to post
64
65
  * @returns void
65
66
  */
66
- PostMessage(message, data) {
67
+ PostMessage(message, data, targetOrigin = "*") {
67
68
  if (window && window.top)
68
- window.top.postMessage({ source: "unrealmessagebus", message: message, data: data, key: UnrealMessageBus.ApiKey });
69
+ window.top.postMessage({ source: "unrealmessagebus", message: message, data: data }, targetOrigin);
69
70
  else
70
71
  console.warn("UnrealMessageBus: No Top Window Available");
71
72
  }
@@ -101,12 +102,12 @@ export class UnrealMessageBus {
101
102
  * @returns void
102
103
  */
103
104
  HandleWindowMessage(event) {
104
- if (event != null && event.data != null && event.data.message != null && event.data.source != null && event.data.source == "unrealmessagebus") {
105
- const keyRequired = (UnrealMessageBus.ApiKey != null && UnrealMessageBus.ApiKey !== "");
106
- if (keyRequired && (event.data.key == null || event.data.key === "" || event.data.key != UnrealMessageBus.ApiKey)) {
107
- console.warn("UnrealMessageBus: Missing Or Invalid API Key");
108
- return;
109
- }
105
+ if (event == null || event.data == null)
106
+ return;
107
+ const originMatchRequired = (this.RequiredOrigin != null && this.RequiredOrigin !== "" && this.RequiredOrigin !== "*");
108
+ if (originMatchRequired === true && event.origin !== this.RequiredOrigin)
109
+ return;
110
+ if (event.data.message != null && event.data.source != null && event.data.source == "unrealmessagebus") {
110
111
  this.OnDispatchMessage(event.data.message, (event.data.data != null) ? event.data.data : null);
111
112
  }
112
113
  }
@@ -128,11 +129,6 @@ export class UnrealMessageBus {
128
129
  } });
129
130
  }
130
131
  }
131
- /** Unreal Message Bus API Key */
132
- UnrealMessageBus.ApiKey = null;
133
132
  /** Unreal Toolkit Runtime Module */
134
- if (typeof window !== 'undefined') {
135
- window.UnrealToolkit = UnrealToolkit;
136
- }
137
- console.log("Unreal Toolkit Runtime - Version 0.0.1");
133
+ console.log("Unreal Toolkit Runtime - Version 0.1.8");
138
134
  export default UnrealToolkit;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unreal-toolkit-next",
3
- "version": "0.1.6",
3
+ "version": "0.1.11",
4
4
  "description": "Unreal Toolkit Runtime Library (ES6)",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",