Files
lit.ruv.wtf/website/scripts/nodes/ChatConnectNode.js

46 lines
1.3 KiB
JavaScript

/**
* @file ChatConnectNode.js
* @UCLASS(BlueprintType, Blueprintable)
*/
import { NodeBase } from './NodeBase.js';
import { NodeRegistry } from './NodeRegistry.js';
/**
* @UCLASS(BlueprintType)
* Calls connect() on a ChatNode instance received via the target input.
*/
export class ChatConnectNode extends NodeBase {
/** @UCLASS(BlueprintType) */
static NodeType = "chat_connect";
/**
* @UFUNCTION(BlueprintPure)
*/
static BlueprintPure_GetDefaultPins() {
return {
inputs: [
{ id: 'exec_in', name: '', direction: 'input', kind: 'exec' }
],
outputs: [
{ id: 'exec_out', name: '', direction: 'output', kind: 'exec' },
{ id: 'on_message', name: 'On Message', direction: 'output', kind: 'exec' },
{ id: 'message', name: 'Message', direction: 'output', kind: 'string' }
]
};
}
/**
* @UFUNCTION(BlueprintCallable)
* @param {import('./NodeExecutionContext.js').NodeExecutionContext} ctx
*/
async BlueprintCallable_Execute(ctx) {
const chatInstance = ctx.BlueprintPure_ResolveInput("target");
if (chatInstance && typeof chatInstance.connect === "function") {
chatInstance.connect();
}
}
}
NodeRegistry.UCLASS_Register(ChatConnectNode);