mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-04 08:50:33 +08:00
Fixes #28
This commit is contained in:
74
dist/ueblueprint.js
vendored
74
dist/ueblueprint.js
vendored
@@ -130,6 +130,7 @@ class Configuration {
|
|||||||
callArrayFunction: "/Script/BlueprintGraph.K2Node_CallArrayFunction",
|
callArrayFunction: "/Script/BlueprintGraph.K2Node_CallArrayFunction",
|
||||||
callDelegate: "/Script/BlueprintGraph.K2Node_CallDelegate",
|
callDelegate: "/Script/BlueprintGraph.K2Node_CallDelegate",
|
||||||
callFunction: "/Script/BlueprintGraph.K2Node_CallFunction",
|
callFunction: "/Script/BlueprintGraph.K2Node_CallFunction",
|
||||||
|
clearDelegate: "/Script/BlueprintGraph.K2Node_ClearDelegate",
|
||||||
comment: "/Script/UnrealEd.EdGraphNode_Comment",
|
comment: "/Script/UnrealEd.EdGraphNode_Comment",
|
||||||
commutativeAssociativeBinaryOperator: "/Script/BlueprintGraph.K2Node_CommutativeAssociativeBinaryOperator",
|
commutativeAssociativeBinaryOperator: "/Script/BlueprintGraph.K2Node_CommutativeAssociativeBinaryOperator",
|
||||||
componentBoundEvent: "/Script/BlueprintGraph.K2Node_ComponentBoundEvent",
|
componentBoundEvent: "/Script/BlueprintGraph.K2Node_ComponentBoundEvent",
|
||||||
@@ -216,6 +217,7 @@ class Configuration {
|
|||||||
pcgSubgraphSettings: "/Script/PCG.PCGSubgraphSettings",
|
pcgSubgraphSettings: "/Script/PCG.PCGSubgraphSettings",
|
||||||
promotableOperator: "/Script/BlueprintGraph.K2Node_PromotableOperator",
|
promotableOperator: "/Script/BlueprintGraph.K2Node_PromotableOperator",
|
||||||
quat4f: "/Script/CoreUObject.Quat4f",
|
quat4f: "/Script/CoreUObject.Quat4f",
|
||||||
|
removeDelegate: "/Script/BlueprintGraph.K2Node_RemoveDelegate",
|
||||||
reverseForEachLoop: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ReverseForEachLoop",
|
reverseForEachLoop: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ReverseForEachLoop",
|
||||||
rotator: "/Script/CoreUObject.Rotator",
|
rotator: "/Script/CoreUObject.Rotator",
|
||||||
select: "/Script/BlueprintGraph.K2Node_Select",
|
select: "/Script/BlueprintGraph.K2Node_Select",
|
||||||
@@ -4034,8 +4036,17 @@ function keyName(value) {
|
|||||||
* @returns {String}
|
* @returns {String}
|
||||||
*/
|
*/
|
||||||
function nodeTitle(entity) {
|
function nodeTitle(entity) {
|
||||||
let input;
|
let value;
|
||||||
switch (entity.getType()) {
|
switch (entity.getType()) {
|
||||||
|
case Configuration.paths.addDelegate:
|
||||||
|
value ??= "Bind Event to ";
|
||||||
|
case Configuration.paths.clearDelegate:
|
||||||
|
value ??= "Unbind all Events from ";
|
||||||
|
case Configuration.paths.removeDelegate:
|
||||||
|
value ??= "Unbind Event from ";
|
||||||
|
return value + Utility.formatStringName(
|
||||||
|
entity.DelegateReference?.MemberName?.toString().replace(/Delegate$/, "") ?? "None"
|
||||||
|
)
|
||||||
case Configuration.paths.asyncAction:
|
case Configuration.paths.asyncAction:
|
||||||
if (entity.ProxyFactoryFunctionName) {
|
if (entity.ProxyFactoryFunctionName) {
|
||||||
return Utility.formatStringName(entity.ProxyFactoryFunctionName?.toString())
|
return Utility.formatStringName(entity.ProxyFactoryFunctionName?.toString())
|
||||||
@@ -4088,25 +4099,26 @@ function nodeTitle(entity) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case Configuration.paths.materialExpressionConstant:
|
case Configuration.paths.materialExpressionConstant:
|
||||||
input ??= [entity.getCustomproperties().find(pinEntity => pinEntity.PinName.toString() == "Value")?.DefaultValue];
|
value ??= [entity.getCustomproperties().find(pinEntity => pinEntity.PinName.toString() == "Value")?.DefaultValue];
|
||||||
case Configuration.paths.materialExpressionConstant2Vector:
|
case Configuration.paths.materialExpressionConstant2Vector:
|
||||||
input ??= [
|
value ??= [
|
||||||
entity.getCustomproperties().find(pinEntity => pinEntity.PinName?.toString() == "X")?.DefaultValue,
|
entity.getCustomproperties().find(pinEntity => pinEntity.PinName?.toString() == "X")?.DefaultValue,
|
||||||
entity.getCustomproperties().find(pinEntity => pinEntity.PinName?.toString() == "Y")?.DefaultValue,
|
entity.getCustomproperties().find(pinEntity => pinEntity.PinName?.toString() == "Y")?.DefaultValue,
|
||||||
];
|
];
|
||||||
case Configuration.paths.materialExpressionConstant3Vector:
|
case Configuration.paths.materialExpressionConstant3Vector:
|
||||||
case Configuration.paths.materialExpressionConstant4Vector:
|
case Configuration.paths.materialExpressionConstant4Vector:
|
||||||
if (!input) {
|
if (!value) {
|
||||||
const vector = entity.getCustomproperties()
|
const vector = entity.getCustomproperties()
|
||||||
.find(pinEntity => pinEntity.PinName?.toString() == "Constant")
|
.find(pinEntity => pinEntity.PinName?.toString() == "Constant")
|
||||||
?.DefaultValue;
|
?.DefaultValue;
|
||||||
input = vector instanceof VectorEntity ? [vector.X, vector.Y, vector.Z].map(v => v.valueOf())
|
value = vector instanceof VectorEntity ? [vector.X, vector.Y, vector.Z].map(v => v.valueOf())
|
||||||
: vector instanceof LinearColorEntity ? [vector.R, vector.G, vector.B, vector.A].map(v => v.valueOf())
|
: vector instanceof LinearColorEntity ? [vector.R, vector.G, vector.B, vector.A].map(v => v.valueOf())
|
||||||
: /** @type {Number[]} */([]);
|
: /** @type {Number[]} */([]);
|
||||||
}
|
}
|
||||||
if (input.length > 0) {
|
if (value?.length > 0) {
|
||||||
return input.map(v => Utility.printExponential(v)).join(",")
|
return value.map(v => Utility.printExponential(v)).join(",")
|
||||||
}
|
}
|
||||||
|
value = undefined;
|
||||||
break
|
break
|
||||||
case Configuration.paths.materialExpressionFunctionInput: {
|
case Configuration.paths.materialExpressionFunctionInput: {
|
||||||
const materialObject = entity.getMaterialSubobject();
|
const materialObject = entity.getMaterialSubobject();
|
||||||
@@ -4395,9 +4407,11 @@ function nodeIcon(entity) {
|
|||||||
case Configuration.paths.addDelegate:
|
case Configuration.paths.addDelegate:
|
||||||
case Configuration.paths.asyncAction:
|
case Configuration.paths.asyncAction:
|
||||||
case Configuration.paths.callDelegate:
|
case Configuration.paths.callDelegate:
|
||||||
|
case Configuration.paths.clearDelegate:
|
||||||
case Configuration.paths.createDelegate:
|
case Configuration.paths.createDelegate:
|
||||||
case Configuration.paths.functionEntry:
|
case Configuration.paths.functionEntry:
|
||||||
case Configuration.paths.functionResult:
|
case Configuration.paths.functionResult:
|
||||||
|
case Configuration.paths.removeDelegate:
|
||||||
return SVGIcon.node
|
return SVGIcon.node
|
||||||
case Configuration.paths.customEvent: return SVGIcon.event
|
case Configuration.paths.customEvent: return SVGIcon.event
|
||||||
case Configuration.paths.doN: return SVGIcon.doN
|
case Configuration.paths.doN: return SVGIcon.doN
|
||||||
@@ -8442,6 +8456,28 @@ class MouseClickDrag extends MouseMoveDraggable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {ObjectEntity} entity
|
||||||
|
* @returns {String?}
|
||||||
|
*/
|
||||||
|
function nodeSubtitle(entity) {
|
||||||
|
switch (entity.getType()) {
|
||||||
|
case Configuration.paths.addDelegate:
|
||||||
|
case Configuration.paths.clearDelegate:
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
const targetPin = entity
|
||||||
|
.getPinEntities()
|
||||||
|
.find(pin => pin.PinName?.toString() === "self" && pinTitle(pin) === "Target");
|
||||||
|
if (targetPin) {
|
||||||
|
const target = entity.FunctionReference?.MemberParent?.getName()
|
||||||
|
?? targetPin.PinType?.PinSubCategoryObject?.getName()
|
||||||
|
?? "Untitled";
|
||||||
|
return target.length > 0 ? `Target is ${Utility.formatStringName(target)}` : null
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
/** @typedef {import("./IMouseClickDrag.js").Options} Options */
|
/** @typedef {import("./IMouseClickDrag.js").Options} Options */
|
||||||
|
|
||||||
/** @extends {MouseMoveDraggable<NodeElement>} */
|
/** @extends {MouseMoveDraggable<NodeElement>} */
|
||||||
@@ -8613,7 +8649,7 @@ class NodeTemplate extends ISelectableDraggableTemplate {
|
|||||||
|
|
||||||
static nodeStyleClasses = ["ueb-node-style-default"]
|
static nodeStyleClasses = ["ueb-node-style-default"]
|
||||||
|
|
||||||
#hasSubtitle = false
|
#subtitle
|
||||||
|
|
||||||
/** @type {() => PinEntity<IEntity>} */
|
/** @type {() => PinEntity<IEntity>} */
|
||||||
pinInserter
|
pinInserter
|
||||||
@@ -8659,6 +8695,7 @@ class NodeTemplate extends ISelectableDraggableTemplate {
|
|||||||
/** @param {NodeElement} element */
|
/** @param {NodeElement} element */
|
||||||
initialize(element) {
|
initialize(element) {
|
||||||
super.initialize(element);
|
super.initialize(element);
|
||||||
|
this.#subtitle = nodeSubtitle(element.entity);
|
||||||
this.element.classList.add(.../** @type {typeof NodeTemplate} */(this.constructor).nodeStyleClasses);
|
this.element.classList.add(.../** @type {typeof NodeTemplate} */(this.constructor).nodeStyleClasses);
|
||||||
this.element.style.setProperty("--ueb-node-color", this.getColor().cssText);
|
this.element.style.setProperty("--ueb-node-color", this.getColor().cssText);
|
||||||
this.pinInserter = this.element.entity.additionalPinInserter();
|
this.pinInserter = this.element.entity.additionalPinInserter();
|
||||||
@@ -8717,13 +8754,12 @@ class NodeTemplate extends ISelectableDraggableTemplate {
|
|||||||
${name ? x`
|
${name ? x`
|
||||||
<div class="ueb-node-name-text ueb-ellipsis-nowrap-text">
|
<div class="ueb-node-name-text ueb-ellipsis-nowrap-text">
|
||||||
${name}
|
${name}
|
||||||
${this.#hasSubtitle && this.getTargetType().length > 0 ? x`
|
${this.#subtitle ? x`
|
||||||
<div class="ueb-node-subtitle-text ueb-ellipsis-nowrap-text">
|
<div class="ueb-node-subtitle-text ueb-ellipsis-nowrap-text">${this.#subtitle}</div>
|
||||||
Target is ${Utility.formatStringName(this.getTargetType())}
|
`: A
|
||||||
</div>
|
}
|
||||||
`: A}
|
|
||||||
</div>
|
</div>
|
||||||
` : A}
|
` : A}
|
||||||
</div>
|
</div>
|
||||||
`
|
`
|
||||||
}
|
}
|
||||||
@@ -8771,15 +8807,7 @@ class NodeTemplate extends ISelectableDraggableTemplate {
|
|||||||
createPinElements() {
|
createPinElements() {
|
||||||
return this.element.getPinEntities()
|
return this.element.getPinEntities()
|
||||||
.filter(v => !v.isHidden())
|
.filter(v => !v.isHidden())
|
||||||
.map(pinEntity => {
|
.map(pinEntity => this.createPinElement(pinEntity))
|
||||||
this.#hasSubtitle = this.#hasSubtitle
|
|
||||||
|| pinEntity.PinName.toString() === "self" && pinEntity.pinTitle() === "Target";
|
|
||||||
return this.createPinElement(pinEntity)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
getTargetType() {
|
|
||||||
return this.element.entity.FunctionReference?.MemberParent?.getName() ?? "Untitled"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
linksChanged() { }
|
linksChanged() { }
|
||||||
|
|||||||
8
dist/ueblueprint.min.js
vendored
8
dist/ueblueprint.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -106,6 +106,7 @@ export default class Configuration {
|
|||||||
callArrayFunction: "/Script/BlueprintGraph.K2Node_CallArrayFunction",
|
callArrayFunction: "/Script/BlueprintGraph.K2Node_CallArrayFunction",
|
||||||
callDelegate: "/Script/BlueprintGraph.K2Node_CallDelegate",
|
callDelegate: "/Script/BlueprintGraph.K2Node_CallDelegate",
|
||||||
callFunction: "/Script/BlueprintGraph.K2Node_CallFunction",
|
callFunction: "/Script/BlueprintGraph.K2Node_CallFunction",
|
||||||
|
clearDelegate: "/Script/BlueprintGraph.K2Node_ClearDelegate",
|
||||||
comment: "/Script/UnrealEd.EdGraphNode_Comment",
|
comment: "/Script/UnrealEd.EdGraphNode_Comment",
|
||||||
commutativeAssociativeBinaryOperator: "/Script/BlueprintGraph.K2Node_CommutativeAssociativeBinaryOperator",
|
commutativeAssociativeBinaryOperator: "/Script/BlueprintGraph.K2Node_CommutativeAssociativeBinaryOperator",
|
||||||
componentBoundEvent: "/Script/BlueprintGraph.K2Node_ComponentBoundEvent",
|
componentBoundEvent: "/Script/BlueprintGraph.K2Node_ComponentBoundEvent",
|
||||||
@@ -192,6 +193,7 @@ export default class Configuration {
|
|||||||
pcgSubgraphSettings: "/Script/PCG.PCGSubgraphSettings",
|
pcgSubgraphSettings: "/Script/PCG.PCGSubgraphSettings",
|
||||||
promotableOperator: "/Script/BlueprintGraph.K2Node_PromotableOperator",
|
promotableOperator: "/Script/BlueprintGraph.K2Node_PromotableOperator",
|
||||||
quat4f: "/Script/CoreUObject.Quat4f",
|
quat4f: "/Script/CoreUObject.Quat4f",
|
||||||
|
removeDelegate: "/Script/BlueprintGraph.K2Node_RemoveDelegate",
|
||||||
reverseForEachLoop: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ReverseForEachLoop",
|
reverseForEachLoop: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ReverseForEachLoop",
|
||||||
rotator: "/Script/CoreUObject.Rotator",
|
rotator: "/Script/CoreUObject.Rotator",
|
||||||
select: "/Script/BlueprintGraph.K2Node_Select",
|
select: "/Script/BlueprintGraph.K2Node_Select",
|
||||||
|
|||||||
@@ -11,9 +11,11 @@ export default function nodeIcon(entity) {
|
|||||||
case Configuration.paths.addDelegate:
|
case Configuration.paths.addDelegate:
|
||||||
case Configuration.paths.asyncAction:
|
case Configuration.paths.asyncAction:
|
||||||
case Configuration.paths.callDelegate:
|
case Configuration.paths.callDelegate:
|
||||||
|
case Configuration.paths.clearDelegate:
|
||||||
case Configuration.paths.createDelegate:
|
case Configuration.paths.createDelegate:
|
||||||
case Configuration.paths.functionEntry:
|
case Configuration.paths.functionEntry:
|
||||||
case Configuration.paths.functionResult:
|
case Configuration.paths.functionResult:
|
||||||
|
case Configuration.paths.removeDelegate:
|
||||||
return SVGIcon.node
|
return SVGIcon.node
|
||||||
case Configuration.paths.customEvent: return SVGIcon.event
|
case Configuration.paths.customEvent: return SVGIcon.event
|
||||||
case Configuration.paths.doN: return SVGIcon.doN
|
case Configuration.paths.doN: return SVGIcon.doN
|
||||||
|
|||||||
25
js/decoding/nodeSubtitle.js
Normal file
25
js/decoding/nodeSubtitle.js
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
import Configuration from "../Configuration.js"
|
||||||
|
import Utility from "../Utility.js"
|
||||||
|
import pinTitle from "./pinTitle.js"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {ObjectEntity} entity
|
||||||
|
* @returns {String?}
|
||||||
|
*/
|
||||||
|
export default function nodeSubtitle(entity) {
|
||||||
|
switch (entity.getType()) {
|
||||||
|
case Configuration.paths.addDelegate:
|
||||||
|
case Configuration.paths.clearDelegate:
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
const targetPin = entity
|
||||||
|
.getPinEntities()
|
||||||
|
.find(pin => pin.PinName?.toString() === "self" && pinTitle(pin) === "Target")
|
||||||
|
if (targetPin) {
|
||||||
|
const target = entity.FunctionReference?.MemberParent?.getName()
|
||||||
|
?? targetPin.PinType?.PinSubCategoryObject?.getName()
|
||||||
|
?? "Untitled"
|
||||||
|
return target.length > 0 ? `Target is ${Utility.formatStringName(target)}` : null
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
@@ -76,8 +76,17 @@ function keyName(value) {
|
|||||||
* @returns {String}
|
* @returns {String}
|
||||||
*/
|
*/
|
||||||
export default function nodeTitle(entity) {
|
export default function nodeTitle(entity) {
|
||||||
let input
|
let value
|
||||||
switch (entity.getType()) {
|
switch (entity.getType()) {
|
||||||
|
case Configuration.paths.addDelegate:
|
||||||
|
value ??= "Bind Event to "
|
||||||
|
case Configuration.paths.clearDelegate:
|
||||||
|
value ??= "Unbind all Events from "
|
||||||
|
case Configuration.paths.removeDelegate:
|
||||||
|
value ??= "Unbind Event from "
|
||||||
|
return value + Utility.formatStringName(
|
||||||
|
entity.DelegateReference?.MemberName?.toString().replace(/Delegate$/, "") ?? "None"
|
||||||
|
)
|
||||||
case Configuration.paths.asyncAction:
|
case Configuration.paths.asyncAction:
|
||||||
if (entity.ProxyFactoryFunctionName) {
|
if (entity.ProxyFactoryFunctionName) {
|
||||||
return Utility.formatStringName(entity.ProxyFactoryFunctionName?.toString())
|
return Utility.formatStringName(entity.ProxyFactoryFunctionName?.toString())
|
||||||
@@ -130,25 +139,26 @@ export default function nodeTitle(entity) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case Configuration.paths.materialExpressionConstant:
|
case Configuration.paths.materialExpressionConstant:
|
||||||
input ??= [entity.getCustomproperties().find(pinEntity => pinEntity.PinName.toString() == "Value")?.DefaultValue]
|
value ??= [entity.getCustomproperties().find(pinEntity => pinEntity.PinName.toString() == "Value")?.DefaultValue]
|
||||||
case Configuration.paths.materialExpressionConstant2Vector:
|
case Configuration.paths.materialExpressionConstant2Vector:
|
||||||
input ??= [
|
value ??= [
|
||||||
entity.getCustomproperties().find(pinEntity => pinEntity.PinName?.toString() == "X")?.DefaultValue,
|
entity.getCustomproperties().find(pinEntity => pinEntity.PinName?.toString() == "X")?.DefaultValue,
|
||||||
entity.getCustomproperties().find(pinEntity => pinEntity.PinName?.toString() == "Y")?.DefaultValue,
|
entity.getCustomproperties().find(pinEntity => pinEntity.PinName?.toString() == "Y")?.DefaultValue,
|
||||||
]
|
]
|
||||||
case Configuration.paths.materialExpressionConstant3Vector:
|
case Configuration.paths.materialExpressionConstant3Vector:
|
||||||
case Configuration.paths.materialExpressionConstant4Vector:
|
case Configuration.paths.materialExpressionConstant4Vector:
|
||||||
if (!input) {
|
if (!value) {
|
||||||
const vector = entity.getCustomproperties()
|
const vector = entity.getCustomproperties()
|
||||||
.find(pinEntity => pinEntity.PinName?.toString() == "Constant")
|
.find(pinEntity => pinEntity.PinName?.toString() == "Constant")
|
||||||
?.DefaultValue
|
?.DefaultValue
|
||||||
input = vector instanceof VectorEntity ? [vector.X, vector.Y, vector.Z].map(v => v.valueOf())
|
value = vector instanceof VectorEntity ? [vector.X, vector.Y, vector.Z].map(v => v.valueOf())
|
||||||
: vector instanceof LinearColorEntity ? [vector.R, vector.G, vector.B, vector.A].map(v => v.valueOf())
|
: vector instanceof LinearColorEntity ? [vector.R, vector.G, vector.B, vector.A].map(v => v.valueOf())
|
||||||
: /** @type {Number[]} */([])
|
: /** @type {Number[]} */([])
|
||||||
}
|
}
|
||||||
if (input.length > 0) {
|
if (value?.length > 0) {
|
||||||
return input.map(v => Utility.printExponential(v)).join(",")
|
return value.map(v => Utility.printExponential(v)).join(",")
|
||||||
}
|
}
|
||||||
|
value = undefined
|
||||||
break
|
break
|
||||||
case Configuration.paths.materialExpressionFunctionInput: {
|
case Configuration.paths.materialExpressionFunctionInput: {
|
||||||
const materialObject = entity.getMaterialSubobject()
|
const materialObject = entity.getMaterialSubobject()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { html, nothing } from "lit"
|
import { html, nothing } from "lit"
|
||||||
import SVGIcon from "../../SVGIcon.js"
|
import nodeSubtitle from "../../decoding/nodeSubtitle.js"
|
||||||
import Utility from "../../Utility.js"
|
|
||||||
import ElementFactory from "../../element/ElementFactory.js"
|
import ElementFactory from "../../element/ElementFactory.js"
|
||||||
|
import SVGIcon from "../../SVGIcon.js"
|
||||||
import ISelectableDraggableTemplate from "../ISelectableDraggableTemplate.js"
|
import ISelectableDraggableTemplate from "../ISelectableDraggableTemplate.js"
|
||||||
|
|
||||||
/** @extends {ISelectableDraggableTemplate<NodeElement>} */
|
/** @extends {ISelectableDraggableTemplate<NodeElement>} */
|
||||||
@@ -9,7 +9,7 @@ export default class NodeTemplate extends ISelectableDraggableTemplate {
|
|||||||
|
|
||||||
static nodeStyleClasses = ["ueb-node-style-default"]
|
static nodeStyleClasses = ["ueb-node-style-default"]
|
||||||
|
|
||||||
#hasSubtitle = false
|
#subtitle
|
||||||
|
|
||||||
/** @type {() => PinEntity<IEntity>} */
|
/** @type {() => PinEntity<IEntity>} */
|
||||||
pinInserter
|
pinInserter
|
||||||
@@ -55,6 +55,7 @@ export default class NodeTemplate extends ISelectableDraggableTemplate {
|
|||||||
/** @param {NodeElement} element */
|
/** @param {NodeElement} element */
|
||||||
initialize(element) {
|
initialize(element) {
|
||||||
super.initialize(element)
|
super.initialize(element)
|
||||||
|
this.#subtitle = nodeSubtitle(element.entity)
|
||||||
this.element.classList.add(.../** @type {typeof NodeTemplate} */(this.constructor).nodeStyleClasses)
|
this.element.classList.add(.../** @type {typeof NodeTemplate} */(this.constructor).nodeStyleClasses)
|
||||||
this.element.style.setProperty("--ueb-node-color", this.getColor().cssText)
|
this.element.style.setProperty("--ueb-node-color", this.getColor().cssText)
|
||||||
this.pinInserter = this.element.entity.additionalPinInserter()
|
this.pinInserter = this.element.entity.additionalPinInserter()
|
||||||
@@ -113,13 +114,12 @@ export default class NodeTemplate extends ISelectableDraggableTemplate {
|
|||||||
${name ? html`
|
${name ? html`
|
||||||
<div class="ueb-node-name-text ueb-ellipsis-nowrap-text">
|
<div class="ueb-node-name-text ueb-ellipsis-nowrap-text">
|
||||||
${name}
|
${name}
|
||||||
${this.#hasSubtitle && this.getTargetType().length > 0 ? html`
|
${this.#subtitle ? html`
|
||||||
<div class="ueb-node-subtitle-text ueb-ellipsis-nowrap-text">
|
<div class="ueb-node-subtitle-text ueb-ellipsis-nowrap-text">${this.#subtitle}</div>
|
||||||
Target is ${Utility.formatStringName(this.getTargetType())}
|
`: nothing
|
||||||
</div>
|
}
|
||||||
`: nothing}
|
|
||||||
</div>
|
</div>
|
||||||
` : nothing}
|
` : nothing}
|
||||||
</div>
|
</div>
|
||||||
`
|
`
|
||||||
}
|
}
|
||||||
@@ -167,15 +167,7 @@ export default class NodeTemplate extends ISelectableDraggableTemplate {
|
|||||||
createPinElements() {
|
createPinElements() {
|
||||||
return this.element.getPinEntities()
|
return this.element.getPinEntities()
|
||||||
.filter(v => !v.isHidden())
|
.filter(v => !v.isHidden())
|
||||||
.map(pinEntity => {
|
.map(pinEntity => this.createPinElement(pinEntity))
|
||||||
this.#hasSubtitle = this.#hasSubtitle
|
|
||||||
|| pinEntity.PinName.toString() === "self" && pinEntity.pinTitle() === "Target"
|
|
||||||
return this.createPinElement(pinEntity)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
getTargetType() {
|
|
||||||
return this.element.entity.FunctionReference?.MemberParent?.getName() ?? "Untitled"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
linksChanged() { }
|
linksChanged() { }
|
||||||
|
|||||||
@@ -81,9 +81,116 @@ export default class EventNodes extends NodeTests {
|
|||||||
color: Configuration.nodeColors.blue,
|
color: Configuration.nodeColors.blue,
|
||||||
icon: SVGIcon.node,
|
icon: SVGIcon.node,
|
||||||
pins: 3,
|
pins: 3,
|
||||||
pinNames: [
|
pinNames: ["Target"],
|
||||||
"Target",
|
delegate: false,
|
||||||
],
|
development: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Bind Event to On Actor Hit",
|
||||||
|
value: String.raw`
|
||||||
|
Begin Object Class=/Script/BlueprintGraph.K2Node_AddDelegate Name="K2Node_AddDelegate_0" ExportPath="/Script/BlueprintGraph.K2Node_AddDelegate'/Game/Examples/MazeSolver/Blueprints/MazeSolverTrainer.MazeSolverTrainer:EventGraph.K2Node_AddDelegate_0'"
|
||||||
|
DelegateReference=(MemberParent="/Script/CoreUObject.Class'/Script/Engine.Actor'",MemberName="OnActorHit")
|
||||||
|
NodePosX=256
|
||||||
|
NodePosY=-48
|
||||||
|
NodeGuid=A94C879148610E75EBAC94807E94F5DD
|
||||||
|
CustomProperties Pin (PinId=252C72EA45F1370E8B00FFB6D5C87B3A,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Event_0 F135CD17D40347269BBBD101437B6AF0,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=66AE85F346F350F62B127B97DFC49563,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=D7358C004BE0EF6651DE69A7346E77D4,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "BaseMCDelegateSelfPinName", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.Class'/Script/Engine.Actor'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_0 EDE2516A4F187C93CBF2D7AE88066240,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=180DE95D4FD5AF2404F1CB80F0FBD29E,PinName="Delegate",PinFriendlyName=NSLOCTEXT("K2Node", "PinFriendlyDelegatetName", "Event"),PinType.PinCategory="Delegate",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(MemberParent="/Script/CoreUObject.Package'/Script/Engine'",MemberName="ActorHitSignature__DelegateSignature"),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
End Object
|
||||||
|
`,
|
||||||
|
size: [13.5, 8],
|
||||||
|
color: Configuration.nodeColors.blue,
|
||||||
|
icon: SVGIcon.node,
|
||||||
|
pins: 4,
|
||||||
|
pinNames: ["Target", "Event"],
|
||||||
|
delegate: false,
|
||||||
|
development: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Bind Event to Modified Event Dynamic",
|
||||||
|
value: String.raw`
|
||||||
|
Begin Object Class=/Script/BlueprintGraph.K2Node_AddDelegate Name="K2Node_AddDelegate_1" ExportPath="/Script/BlueprintGraph.K2Node_AddDelegate'/Engine/Maps/Templates/NewWorld.NewWorld:PersistentLevel.NewWorld.EventGraph.K2Node_AddDelegate_1'"
|
||||||
|
DelegateReference=(MemberParent="/Script/CoreUObject.Class'/Script/Engine.AnimDataModel'",MemberName="ModifiedEventDynamic")
|
||||||
|
NodePosX=1920
|
||||||
|
NodePosY=-384
|
||||||
|
NodeGuid=9F798056B9CB474A9EE2FE88063D4D20
|
||||||
|
CustomProperties Pin (PinId=4D2AF198B99A445C925AA2A8380C533E,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=46363EE0231F4EA186E029977F586416,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=D3AD4B9A6EA745BD8EC70EE4B33FDB44,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "BaseMCDelegateSelfPinName", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.Class'/Script/Engine.AnimDataModel'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=48F1FF2C45A147C7B390B9D1A35FC3A2,PinName="Delegate",PinFriendlyName=NSLOCTEXT("K2Node", "PinFriendlyDelegatetName", "Event"),PinType.PinCategory="delegate",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(MemberParent="/Script/CoreUObject.Package'/Script/Engine'",MemberName="AnimDataModelModifiedDynamicEvent__DelegateSignature"),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
End Object
|
||||||
|
`,
|
||||||
|
size: [18, 8],
|
||||||
|
color: Configuration.nodeColors.blue,
|
||||||
|
icon: SVGIcon.node,
|
||||||
|
pins: 4,
|
||||||
|
pinNames: ["Target", "Event"],
|
||||||
|
delegate: false,
|
||||||
|
development: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Unbind all Events from On Scroll Bar Visibility Changed",
|
||||||
|
value: String.raw`
|
||||||
|
Begin Object Class=/Script/BlueprintGraph.K2Node_ClearDelegate Name="K2Node_ClearDelegate_1" ExportPath="/Script/BlueprintGraph.K2Node_ClearDelegate'/Engine/Maps/Templates/NewWorld.NewWorld:PersistentLevel.NewWorld.EventGraph.K2Node_ClearDelegate_1'"
|
||||||
|
DelegateReference=(MemberParent="/Script/CoreUObject.Class'/Script/UMG.ScrollBox'",MemberName="OnScrollBarVisibilityChanged")
|
||||||
|
NodePosX=2688
|
||||||
|
NodePosY=-640
|
||||||
|
NodeGuid=48B5357C4A6344B685D58484C8CA6100
|
||||||
|
CustomProperties Pin (PinId=0186059A7F58440D9CDE09CF2E4211BE,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=CB57C7A59EC4491EAC932C4AF3B43254,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=C088A6049D2C4A238885632C5D33C490,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "BaseMCDelegateSelfPinName", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.Class'/Script/UMG.ScrollBox'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
End Object
|
||||||
|
`,
|
||||||
|
size: [24, 6],
|
||||||
|
color: Configuration.nodeColors.blue,
|
||||||
|
icon: SVGIcon.node,
|
||||||
|
pins: 3,
|
||||||
|
pinNames: ["Target"],
|
||||||
|
delegate: false,
|
||||||
|
development: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Unbind Event from On Pre Initialize",
|
||||||
|
value: String.raw`
|
||||||
|
Begin Object Class=/Script/BlueprintGraph.K2Node_RemoveDelegate Name="K2Node_RemoveDelegate_0" ExportPath="/Script/BlueprintGraph.K2Node_RemoveDelegate'/Engine/Maps/Templates/NewWorld.NewWorld:PersistentLevel.NewWorld.EventGraph.K2Node_RemoveDelegate_0'"
|
||||||
|
DelegateReference=(MemberParent="/Script/CoreUObject.Class'/Script/ControlRig.ControlRigComponent'",MemberName="OnPreInitializeDelegate")
|
||||||
|
NodePosX=2688
|
||||||
|
NodePosY=-512
|
||||||
|
NodeGuid=68504A8520394A2F9B8AACFD2F457D9E
|
||||||
|
CustomProperties Pin (PinId=1D7D2FBFEB344721B4EE9D149F615BBD,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=2AB22AF068E943BEB99DAAE276EA0C9A,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=42FC9475607C479097689D14713CCC43,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "BaseMCDelegateSelfPinName", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.Class'/Script/ControlRig.ControlRigComponent'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=7729342B171248D8A6EF908ED8E1D8B7,PinName="Delegate",PinFriendlyName=NSLOCTEXT("K2Node", "PinFriendlyDelegatetName", "Event"),PinType.PinCategory="delegate",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(MemberParent="/Script/CoreUObject.Package'/Script/ControlRig'",MemberName="ControlRigComponentDelegate__DelegateSignature"),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
End Object
|
||||||
|
`,
|
||||||
|
size: [16.5, 8],
|
||||||
|
color: Configuration.nodeColors.blue,
|
||||||
|
icon: SVGIcon.node,
|
||||||
|
pins: 4,
|
||||||
|
pinNames: ["Target", "Event"],
|
||||||
|
delegate: false,
|
||||||
|
development: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Bind Event to On Pre Initialize",
|
||||||
|
value: String.raw`
|
||||||
|
Begin Object Class=/Script/BlueprintGraph.K2Node_AddDelegate Name="K2Node_AddDelegate_4" ExportPath="/Script/BlueprintGraph.K2Node_AddDelegate'/Engine/Maps/Templates/NewWorld.NewWorld:PersistentLevel.NewWorld.EventGraph.K2Node_AddDelegate_4'"
|
||||||
|
DelegateReference=(MemberParent="/Script/CoreUObject.Class'/Script/ControlRig.ControlRigComponent'",MemberName="OnPreInitializeDelegate")
|
||||||
|
NodePosX=1760
|
||||||
|
NodePosY=-688
|
||||||
|
NodeGuid=12A5D8F5736842F7B70C88C26D36B422
|
||||||
|
CustomProperties Pin (PinId=CF6740C1F0A4487E91E6C33CA32F78B7,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=AD533F241A0B44A68FCDFDFE2F698A95,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=6E432C9EE60143F4890F0BDC6BCF4637,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "BaseMCDelegateSelfPinName", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.Class'/Script/ControlRig.ControlRigComponent'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
CustomProperties Pin (PinId=8C762AAFD03F4B89A4150D17A3C20598,PinName="Delegate",PinFriendlyName=NSLOCTEXT("K2Node", "PinFriendlyDelegatetName", "Event"),PinType.PinCategory="delegate",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(MemberParent="/Script/CoreUObject.Package'/Script/ControlRig'",MemberName="ControlRigComponentDelegate__DelegateSignature"),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||||
|
End Object
|
||||||
|
`,
|
||||||
|
size: [15, 8],
|
||||||
|
color: Configuration.nodeColors.blue,
|
||||||
|
icon: SVGIcon.node,
|
||||||
|
pins: 4,
|
||||||
|
pinNames: ["Target", "Event"],
|
||||||
delegate: false,
|
delegate: false,
|
||||||
development: false,
|
development: false,
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user