/** * @file GetMatrixChatNode.js * @UCLASS(BlueprintType, Blueprintable) */ import { NodeBase } from './NodeBase.js'; import { NodeRegistry } from './NodeRegistry.js'; import { GlobalVariables } from '../GlobalVariables.js'; /** * @UCLASS(BlueprintType) * Pure getter node that exposes the "MatrixChat" global as an object output. * Styled with a semi-transparent blue header to visually denote a variable getter. */ export class GetMatrixChatNode extends NodeBase { /** @UCLASS(BlueprintType) */ static NodeType = "get_matrix_chat"; /** * @UFUNCTION(BlueprintPure) */ static BlueprintPure_GetDefaultPins() { return { inputs: [], outputs: [ { id: 'chat', name: 'Chat', direction: 'output', kind: 'table' } ] }; } /** * @UFUNCTION(BlueprintNativeEvent) * @param {HTMLElement} article * @param {import('../GraphNode.js').GraphNode} graphNode */ BlueprintNativeEvent_OnRender(article, graphNode) { const header = article.querySelector(".node-header"); if (header) { header.style.background = "rgba(100, 181, 246, 0.2)"; header.style.borderColor = "rgba(100, 181, 246, 0.4)"; } const outputPin = graphNode.outputs.find(p => p.id === "value"); if (outputPin && GlobalVariables.has("MatrixChat")) { outputPin.defaultValue = GlobalVariables.get("MatrixChat"); } } } NodeRegistry.UCLASS_Register(GetMatrixChatNode);