unreal-toolkit 0.1.11 → 0.1.14

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # Unreal Toolkit - Classic Edition
2
- A universal runtime library for advanced Unreal Engine web game development. The **Unreal Toolkit** enables interoperability
2
+ A runtime library for advanced Unreal Engine web game development. The **Unreal Toolkit** enables interoperability
3
3
  with your hosted Unreal Engine streaming web application.
4
4
 
5
5
  <a href="https://www.npmjs.com/package/unreal-toolkit-next">Next Edition (ES6)</a>
6
6
  <br/>
7
- <a href="https://github.com/MackeyK24/UnrealToolkit/tree/master/Runtime">Browser Edition (CDN)</a>
7
+ <a href="https://github.com/codewrxai/UnrealToolkit/cdn">Browser Edition (CDN)</a>
8
8
 
9
9
 
10
10
  ## Default Installation (UMD)
@@ -16,3 +16,37 @@ npm install unreal-toolkit
16
16
  ```javascript
17
17
  import UnrealToolkit from 'unreal-toolkit';
18
18
  ```
19
+
20
+ * Unreal Toolkit Message Bus Usage
21
+ ```typescript
22
+ // Post WM_HELLO message to Unreal Engine
23
+ UnrealToolkit.EventBus.PostWindowMessage("WM_HELLO", ["Hello World!"]);
24
+
25
+ // Handle WM_MY_EVENT message from Unreal Engine
26
+ UnrealToolkit.EventBus.OnWindowMessage("WM_MY_EVENT", (args:string[]) => {
27
+ console.log("My Event Args: ", args);
28
+ });
29
+ ```
30
+
31
+ * Unreal Toolkit Content Frame Style
32
+ ```css
33
+ iframe {
34
+ position: absolute;
35
+ width: 100%;
36
+ height: 100%;
37
+ min-height: 100vh;
38
+ border: none;
39
+ outline: none;
40
+ z-index: 0;
41
+ }
42
+ ```
43
+
44
+ * Unreal Toolkit Content Frame Window
45
+ ```html
46
+ <iframe
47
+ src="your.unrealtoolkitproject.com"
48
+ crossorigin="anonymous"
49
+ allow="cross-origin-isolated"
50
+ sandbox="allow-same-origin allow-scripts allow-popups allow-forms allow-pointer-lock">
51
+ </iframe>
52
+ ```
package/dist/index.d.ts CHANGED
@@ -8,13 +8,13 @@ export declare class UnrealToolkit {
8
8
  /** Unreal Toolkit event message bus
9
9
  * @example
10
10
  * ```typescript
11
- * // Handle myevent message
12
- * UnrealToolkit.EventBus.OnMessage("myevent", (data:string) => {
13
- * console.log("My Event Data: " + data);
14
- * });
11
+ * // Post WM_HELLO message to Unreal Engine
12
+ * UnrealToolkit.EventBus.PostWindowMessage("WM_HELLO", ["Hello World!"]);
15
13
  *
16
- * // Post myevent message
17
- * UnrealToolkit.EventBus.PostMessage("myevent", "Hello World!");
14
+ * // Handle WM_MY_EVENT message from Unreal Engine
15
+ * UnrealToolkit.EventBus.OnWindowMessage("WM_MY_EVENT", (args:string[]) => {
16
+ * console.log("My Event Args: ", args);
17
+ * });
18
18
  * ```
19
19
  */
20
20
  static get EventBus(): UnrealMessageBus;
@@ -24,28 +24,28 @@ export declare class UnrealToolkit {
24
24
  * @class UnrealMessageBus - All rights reserved (c) 2024 Mackey Kinard
25
25
  */
26
26
  export declare class UnrealMessageBus {
27
- RequiredOrigin: string;
27
+ static AllowedOrigin: string;
28
+ static TargetOrigin: string;
29
+ static ContentFrames: NodeListOf<HTMLIFrameElement>;
28
30
  constructor();
29
- /** Handle event bus message
30
- * @param message The message to handle
31
- * @param data The data to handle
31
+ /** Post event bus message
32
+ * @param name The message to post
33
+ * @param args The args to post
32
34
  * @returns void
33
35
  */
34
- OnMessage(message: string, handler: (data: string) => void): void;
35
- /** Post event bus message
36
- * @param message The message to post
37
- * @param data The data to post
38
- * @param target The target to post
39
- * @param transfer The transfer to post
36
+ PostWindowMessage(name: string, args?: string[]): void;
37
+ /** Handle event bus message
38
+ * @param name The name to handle
39
+ * @param args The args to handle
40
40
  * @returns void
41
41
  */
42
- PostMessage(message: string, data?: string, targetOrigin?: string): void;
42
+ OnWindowMessage(name: string, handler: (args: string[]) => void): void;
43
43
  /** Remove event bus message handler
44
44
  * @param message The message to remove
45
45
  * @param handler The handler to remove
46
46
  * @returns void
47
47
  */
48
- RemoveHandler(message: string, handler: (data: string) => void): void;
48
+ RemoveHandler(message: string, handler: (args: string[]) => void): void;
49
49
  /** Clear and reset all event bus message handlers
50
50
  * @returns void
51
51
  */
@@ -54,14 +54,18 @@ export declare class UnrealMessageBus {
54
54
  * @returns void
55
55
  */
56
56
  Dispose(): void;
57
+ /** Resets the content frame list
58
+ * @returns void
59
+ */
60
+ ResetContentFrames(): void;
57
61
  /** Handle window message event
58
62
  * @param event The message event to handle
59
63
  * @returns void
60
64
  */
61
65
  private HandleWindowMessage;
62
66
  /** Dispatch internal event bus message
63
- * @param message The message to dispatch
64
- * @param data The data to dispatch
67
+ * @param name The name to dispatch
68
+ * @param args The args to dispatch
65
69
  * @returns void
66
70
  */
67
71
  private OnDispatchMessage;
@@ -8,13 +8,13 @@ export declare class UnrealToolkit {
8
8
  /** Unreal Toolkit event message bus
9
9
  * @example
10
10
  * ```typescript
11
- * // Handle myevent message
12
- * UnrealToolkit.EventBus.OnMessage("myevent", (data:string) => {
13
- * console.log("My Event Data: " + data);
14
- * });
11
+ * // Post WM_HELLO message to Unreal Engine
12
+ * UnrealToolkit.EventBus.PostWindowMessage("WM_HELLO", ["Hello World!"]);
15
13
  *
16
- * // Post myevent message
17
- * UnrealToolkit.EventBus.PostMessage("myevent", "Hello World!");
14
+ * // Handle WM_MY_EVENT message from Unreal Engine
15
+ * UnrealToolkit.EventBus.OnWindowMessage("WM_MY_EVENT", (args:string[]) => {
16
+ * console.log("My Event Args: ", args);
17
+ * });
18
18
  * ```
19
19
  */
20
20
  static get EventBus(): UnrealMessageBus;
@@ -24,28 +24,28 @@ export declare class UnrealToolkit {
24
24
  * @class UnrealMessageBus - All rights reserved (c) 2024 Mackey Kinard
25
25
  */
26
26
  export declare class UnrealMessageBus {
27
- RequiredOrigin: string;
27
+ static AllowedOrigin: string;
28
+ static TargetOrigin: string;
29
+ static ContentFrames: NodeListOf<HTMLIFrameElement>;
28
30
  constructor();
29
- /** Handle event bus message
30
- * @param message The message to handle
31
- * @param data The data to handle
31
+ /** Post event bus message
32
+ * @param name The message to post
33
+ * @param args The args to post
32
34
  * @returns void
33
35
  */
34
- OnMessage(message: string, handler: (data: string) => void): void;
35
- /** Post event bus message
36
- * @param message The message to post
37
- * @param data The data to post
38
- * @param target The target to post
39
- * @param transfer The transfer to post
36
+ PostWindowMessage(name: string, args?: string[]): void;
37
+ /** Handle event bus message
38
+ * @param name The name to handle
39
+ * @param args The args to handle
40
40
  * @returns void
41
41
  */
42
- PostMessage(message: string, data?: string, targetOrigin?: string): void;
42
+ OnWindowMessage(name: string, handler: (args: string[]) => void): void;
43
43
  /** Remove event bus message handler
44
44
  * @param message The message to remove
45
45
  * @param handler The handler to remove
46
46
  * @returns void
47
47
  */
48
- RemoveHandler(message: string, handler: (data: string) => void): void;
48
+ RemoveHandler(message: string, handler: (args: string[]) => void): void;
49
49
  /** Clear and reset all event bus message handlers
50
50
  * @returns void
51
51
  */
@@ -54,14 +54,18 @@ export declare class UnrealMessageBus {
54
54
  * @returns void
55
55
  */
56
56
  Dispose(): void;
57
+ /** Resets the content frame list
58
+ * @returns void
59
+ */
60
+ ResetContentFrames(): void;
57
61
  /** Handle window message event
58
62
  * @param event The message event to handle
59
63
  * @returns void
60
64
  */
61
65
  private HandleWindowMessage;
62
66
  /** Dispatch internal event bus message
63
- * @param message The message to dispatch
64
- * @param data The data to dispatch
67
+ * @param name The name to dispatch
68
+ * @param args The args to dispatch
65
69
  * @returns void
66
70
  */
67
71
  private OnDispatchMessage;
@@ -1 +1 @@
1
- !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.UnrealToolkit=n():e.UnrealToolkit=n()}(this,(()=>(()=>{"use strict";var e={d:(n,t)=>{for(var i in t)e.o(t,i)&&!e.o(n,i)&&Object.defineProperty(n,i,{enumerable:!0,get:t[i]})},o:(e,n)=>Object.prototype.hasOwnProperty.call(e,n)},n={};e.d(n,{default:()=>o});var t=function(){function e(){}return Object.defineProperty(e,"EventBus",{get:function(){return null==e._EventBus&&(e._EventBus=new i),e._EventBus},enumerable:!1,configurable:!0}),e._EventBus=null,e}(),i=function(){function e(){this.RequiredOrigin="*",this.ListenerDictionary={},window&&window.top?(this.HandleWindowMessage=this.HandleWindowMessage.bind(this),window.top.addEventListener("message",this.HandleWindowMessage)):console.warn("UnrealMessageBus: No Top Window Available")}return e.prototype.OnMessage=function(e,n){var t;null==this.ListenerDictionary[e]?(t=[],this.ListenerDictionary[e]=t):t=this.ListenerDictionary[e],t.findIndex((function(e){return n==e}))<0&&t.push(n)},e.prototype.PostMessage=function(e,n,t){void 0===t&&(t="*"),window&&window.top?window.top.postMessage({source:"unrealmessagebus",message:e,data:n},t):console.warn("UnrealMessageBus: No Top Window Available")},e.prototype.RemoveHandler=function(e,n){var t=this.ListenerDictionary[e];if(null!=t){var i=t.findIndex((function(e){return n==e}));i>=0&&t.splice(i,1)}},e.prototype.ResetHandlers=function(){this.ListenerDictionary={}},e.prototype.Dispose=function(){this.ResetHandlers(),window&&window.top&&window.top.removeEventListener("message",this.HandleWindowMessage)},e.prototype.HandleWindowMessage=function(e){null!=e&&null!=e.data&&(!0==(null!=this.RequiredOrigin&&""!==this.RequiredOrigin&&"*"!==this.RequiredOrigin)&&e.origin!==this.RequiredOrigin||null!=e.data.message&&null!=e.data.source&&"unrealmessagebus"==e.data.source&&this.OnDispatchMessage(e.data.message,null!=e.data.data?e.data.data:null))},e.prototype.OnDispatchMessage=function(e,n){void 0===n&&(n=null);var t=this.ListenerDictionary[e];null!=t&&t.forEach((function(e){try{e&&e(n)}catch(e){console.warn(e)}}))},e}();console.log("Unreal Toolkit Runtime - Version 0.1.8");const o=t;return n.default})()));
1
+ !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.UnrealToolkit=n():e.UnrealToolkit=n()}(this,(()=>(()=>{"use strict";var e={d:(n,t)=>{for(var o in t)e.o(t,o)&&!e.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:t[o]})},o:(e,n)=>Object.prototype.hasOwnProperty.call(e,n)},n={};e.d(n,{default:()=>i});var t=function(){function e(){}return Object.defineProperty(e,"EventBus",{get:function(){return null==e._EventBus&&(e._EventBus=new o),e._EventBus},enumerable:!1,configurable:!0}),e._EventBus=null,e}(),o=function(){function e(){this.ListenerDictionary={},this.HandleWindowMessage=this.HandleWindowMessage.bind(this),window.addEventListener("message",this.HandleWindowMessage)}return e.prototype.PostWindowMessage=function(n,t){try{null==e.ContentFrames&&(e.ContentFrames=document.querySelectorAll("iframe")),null!=e.ContentFrames?e.ContentFrames.forEach((function(o){var i;try{null===(i=o.contentWindow)||void 0===i||i.postMessage({source:"unrealtoolkit",message:n,args:t},e.TargetOrigin)}catch(e){console.warn(e)}})):console.warn("UnrealMessageBus: No Content Frames Found!")}catch(e){console.warn(e)}},e.prototype.OnWindowMessage=function(e,n){var t;null==this.ListenerDictionary[e]?(t=[],this.ListenerDictionary[e]=t):t=this.ListenerDictionary[e],t.findIndex((function(e){return n==e}))<0&&t.push(n)},e.prototype.RemoveHandler=function(e,n){var t=this.ListenerDictionary[e];if(null!=t){var o=t.findIndex((function(e){return n==e}));o>=0&&t.splice(o,1)}},e.prototype.ResetHandlers=function(){this.ListenerDictionary={}},e.prototype.Dispose=function(){this.ResetHandlers(),window.removeEventListener("message",this.HandleWindowMessage)},e.prototype.ResetContentFrames=function(){e.ContentFrames=null},e.prototype.HandleWindowMessage=function(n){if(null!=n&&null!=n.origin&&null!=n.data)if(null==e.AllowedOrigin||""===e.AllowedOrigin||"*"===e.AllowedOrigin||n.origin===e.AllowedOrigin){var t=null,o=null;null!=n.data.type?"progress"===n.data.type&&null!=n.data.value?(t="WM_PROGRESS",o=[n.data.value.toString()]):"LoadComplete"===n.data.type?(t="WM_LOAD_COMPLETE",o=null):"focus"===n.data.type?(t="WM_FOCUS",o=null):"blur"===n.data.type?(t="WM_BLUR",o=null):"pointer-lock-active"===n.data.type?(t="WM_POINTER_LOCK_ACTIVE",o=null):"pointer-lock-inactive"===n.data.type&&(t="WM_POINTER_LOCK_INACTIVE",o=null):null!=n.data.source&&"unrealtoolkit"===n.data.source&&null!=n.data.message&&(t=n.data.message,o=null!=n.data.args?n.data.args:null);try{null!=t&&this.OnDispatchMessage(t,o)}catch(e){console.warn(e)}}else console.warn("UnrealMessageBus: Invalid Origin: "+n.origin)},e.prototype.OnDispatchMessage=function(e,n){void 0===n&&(n=null);var t=this.ListenerDictionary[e];null!=t&&t.forEach((function(e){try{e&&e(n)}catch(e){console.warn(e)}}))},e.AllowedOrigin="*",e.TargetOrigin="*",e.ContentFrames=null,e}();console.log("Unreal Toolkit Runtime - Version 0.1.8");const i=t;return n.default})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unreal-toolkit",
3
- "version": "0.1.11",
3
+ "version": "0.1.14",
4
4
  "description": "Unreal Toolkit Runtime Library (UMD)",
5
5
  "main": "dist/unreal.toolkit.js",
6
6
  "types": "dist/index.d.ts",