mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-04 08:28:17 +08:00
Various fixes to hid nodes
This commit is contained in:
14
dist/css/ueb-style.css
vendored
14
dist/css/ueb-style.css
vendored
@@ -254,7 +254,7 @@ ueb-link[data-dragging=true] .ueb-link-message {
|
|||||||
ueb-node {
|
ueb-node {
|
||||||
display: block;
|
display: block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
min-width: 130px;
|
min-width: 100px;
|
||||||
border-radius: var(--ueb-node-radius);
|
border-radius: var(--ueb-node-radius);
|
||||||
box-shadow: 0 0 1px 0 black, 1px 4px 6px 0 rgba(0, 0, 0, 0.3);
|
box-shadow: 0 0 1px 0 black, 1px 4px 6px 0 rgba(0, 0, 0, 0.3);
|
||||||
font-weight: lighter;
|
font-weight: lighter;
|
||||||
@@ -353,6 +353,7 @@ ueb-node.ueb-node-style-event .ueb-node-top ueb-pin {
|
|||||||
|
|
||||||
.ueb-node-name {
|
.ueb-node-name {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
background: radial-gradient(ellipse 100% 100% at 40% 50%, rgba(0, 0, 0, 0.5) 20%, transparent 50%);
|
background: radial-gradient(ellipse 100% 100% at 40% 50%, rgba(0, 0, 0, 0.5) 20%, transparent 50%);
|
||||||
margin: -1px -15px;
|
margin: -1px -15px;
|
||||||
padding: 2px 15px;
|
padding: 2px 15px;
|
||||||
@@ -401,15 +402,14 @@ ueb-node[data-pure-function=true] .ueb-node-name-symbol {
|
|||||||
|
|
||||||
.ueb-node-outputs {
|
.ueb-node-outputs {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
padding-right: 8px;
|
padding-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ueb-node-has-inputs .ueb-node-outputs {
|
.ueb-node-has-inputs .ueb-node-outputs {
|
||||||
margin-left: 20px;
|
margin-left: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ueb-node-developmentonly {
|
.ueb-node-developmentonly {
|
||||||
display: none;
|
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
background: repeating-linear-gradient(-45deg, transparent 0, #57590a 1px, #57590a 11px, transparent 12px, transparent 24px);
|
background: repeating-linear-gradient(-45deg, transparent 0, #57590a 1px, #57590a 11px, transparent 12px, transparent 24px);
|
||||||
@@ -418,18 +418,16 @@ ueb-node[data-pure-function=true] .ueb-node-name-symbol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ueb-node-developmentonly-text {
|
.ueb-node-developmentonly-text {
|
||||||
|
padding: 0 10px;
|
||||||
letter-spacing: 0.04em;
|
letter-spacing: 0.04em;
|
||||||
text-shadow: 1px 1px 1px black;
|
text-shadow: 1px 1px 1px black;
|
||||||
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ueb-zoom--6 .ueb-node-developmentonly-text {
|
.ueb-zoom--6 .ueb-node-developmentonly-text {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
ueb-node[data-enabled-state=DevelopmentOnly] .ueb-node-developmentonly {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ueb-node-expansion {
|
.ueb-node-expansion {
|
||||||
display: none;
|
display: none;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|||||||
2
dist/css/ueb-style.css.map
vendored
2
dist/css/ueb-style.css.map
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"sourceRoot":"","sources":["../../scss/style.scss","../../scss/ueb-knot.scss","../../scss/ueb-link.scss","../../scss/ueb-node.scss","../../scss/ueb-pin.scss","../../scss/ueb-ui-controls.scss","../../scss/ueb-window.scss"],"names":[],"mappings":"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;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;AAAA;EAEI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAII;EACA;;;AAIR;AAAA;EAEI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;;ACrMR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;AAEA;EAEI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;;AAIR;AAAA;EAEI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;AAEA;EACI;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;;AAKA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AAIR;AAAA;AAAA;EAGI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;ACnKJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;;AAGJ;AAAA;EAEI;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA,YACI;;;AAWR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;AAAA;EAEI;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;AAEA;EAEI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AAIR;AAAA;EAEI;EACA;;;AAGJ;EACI;;;AAGJ;AAAA;EAEI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA","file":"ueb-style.css"}
|
{"version":3,"sourceRoot":"","sources":["../../scss/style.scss","../../scss/ueb-knot.scss","../../scss/ueb-link.scss","../../scss/ueb-node.scss","../../scss/ueb-pin.scss","../../scss/ueb-ui-controls.scss","../../scss/ueb-window.scss"],"names":[],"mappings":"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ACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;AAAA;EAEI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAII;EACA;;;AAIR;AAAA;EAEI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;;ACrMR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;AAEA;EAEI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;;AAIR;AAAA;EAEI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;AAEA;EACI;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;;AAKA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AAIR;AAAA;AAAA;EAGI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;ACnKJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;;AAGJ;AAAA;EAEI;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA,YACI;;;AAWR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;AAAA;EAEI;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;AAEA;EAEI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AAIR;AAAA;EAEI;EACA;;;AAGJ;EACI;;;AAGJ;AAAA;EAEI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA","file":"ueb-style.css"}
|
||||||
2
dist/css/ueb-style.min.css
vendored
2
dist/css/ueb-style.min.css
vendored
File diff suppressed because one or more lines are too long
2
dist/css/ueb-style.min.css.map
vendored
2
dist/css/ueb-style.min.css.map
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"sourceRoot":"","sources":["../../scss/style.scss","../../scss/ueb-knot.scss","../../scss/ueb-link.scss","../../scss/ueb-node.scss","../../scss/ueb-pin.scss","../../scss/ueb-ui-controls.scss","../../scss/ueb-window.scss"],"names":[],"mappings":"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,0BACI,iBAGJ,cACI,2BACA,WACA,YACA,gBAGJ,gEACI,WACA,YAGJ,+BACI,iBAGJ,gCACI,gBAGJ,+FAEI,cAGJ,kBACI,mBAGJ,sCACI,WACA,YACA,uBAGJ,0CACI,kBAGJ,cACI,qBACA,sBAGJ,8BACI,kBAGJ,gHACI,aAGJ,uBACI,iBAGJ,eACI,qBACA,sBACA,gBACA,yBACA,kBACA,oBACA,cAEA,4FAII,yCACA,aAIR,0FAEI,aAGJ,uCACI,gBACA,UACA,YACA,WACA,yBACA,2BAGJ,+CACI,6OAGJ,oEACI,UACA,WACA,YACA,qBACA,gBACA,yCAGJ,oCACI,cAGJ,qBACI,sBACA,gBACA,WAGJ,uBACI,cACA,aACA,YACA,UACA,eACA,gBACA,gBACA,gBACA,cACA,cAEA,0CACI,WACA,YAGJ,gDACI,yBACA,mBACA,WAGJ,sDACI,mBCrMR,YACI,eACA,yBACA,kBACA,iBACA,mBACA,kBACA,eAEA,kBACI,mBAIR,aACI,aACA,yBACA,SACA,gBAGJ,mCACI,kBACA,oBAEA,qFAEI,WACA,cACA,kBACA,QACA,SACA,+BAGJ,2CACI,UACA,0BAGJ,0CACI,WACA,2BAIR,uCAEI,kBACA,yBACA,kBACA,mBAGJ,uBACI,kBACA,YAEA,6BACI,iBAIR,kCACI,iBAGJ,qCACI,cACA,kBACA,YACA,kBACA,mBAGJ,4BACI,kBACA,cACA,iBACA,UAKA,4BACI,WACA,qBACA,6BACA,oCACA,qCACA,sBAGJ,0BACI,eAIR,uEAGI,kBACA,MACA,YAGJ,oBACI,QACA,OACA,iBAGJ,0BACI,QACA,WACA,mBAGJ,yBACI,OACA,WACA,mBAGJ,sBACI,kBACA,MACA,QACA,SACA,WACA,iBAGJ,gFAGI,kBACA,YACA,YACA,iBAGJ,uBACI,QACA,OAGJ,6BACI,QACA,WACA,mBAGJ,4BACI,OACA,WACA,mBAGJ,qBACI,kBACA,MACA,SACA,OACA,WACA,iBCnKJ,WACI,cACA,kBACA,yBACA,MACA,OACA,sGACA,mBACA,6CACA,aAGJ,gBACI,aACA,mBACA,mBACA,gBACA,YACA,mBAGJ,oBACI,aACA,yBAGJ,iBACI,YACA,kBACA,kBAGJ,kBACI,YACA,YACA,WACA,eAGJ,+CAEI,qBACA,sBAGJ,uBACI,aACA,2DAGJ,wBACI,kBACA,iBACA,gBACA,mBACA,WACI,mLAWR,kBACI,cACA,kBACA,gBACA,iBACA,UACA,WACA,sBACA,kBAGJ,0CACI,8BACA,6BAGJ,qDAEI,aACA,oBACA,WAGJ,6BACI,iBACA,4EAGJ,wBACI,kBACA,4EAGJ,cACI,cAGJ,2CACI,yCAGJ,sCACI,yCAGJ,0BACI,kBACA,sBAEA,mEAEI,WACA,cACA,kBACA,oBACA,UACA,0BAGJ,iCACI,QAIR,4DAEI,YACA,YAGJ,8BACI,aAGJ,wDAEI,UAGJ,2BACI,aACA,gBACA,gBAGJ,oDACI,aACA,sBACA,8BACA,YACA,UAGJ,wDACI,aACA,mBACA,kBAEA,4DACI,YAIR,kDACI,YAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,2BACI,WAGJ,mBACI,oBAGJ,yBACI,iBACA,aAGJ,0CACI,UACA,iBACA,sBACA","file":"ueb-style.min.css"}
|
{"version":3,"sourceRoot":"","sources":["../../scss/style.scss","../../scss/ueb-knot.scss","../../scss/ueb-link.scss","../../scss/ueb-node.scss","../../scss/ueb-pin.scss","../../scss/ueb-ui-controls.scss","../../scss/ueb-window.scss"],"names":[],"mappings":"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J,0BACI,iBAGJ,cACI,2BACA,WACA,YACA,gBAGJ,gEACI,WACA,YAGJ,+BACI,iBAGJ,gCACI,gBAGJ,+FAEI,cAGJ,kBACI,mBAGJ,sCACI,WACA,YACA,uBAGJ,0CACI,kBAGJ,cACI,qBACA,sBAGJ,8BACI,kBAGJ,gHACI,aAGJ,uBACI,iBAGJ,eACI,qBACA,sBACA,gBACA,yBACA,kBACA,oBACA,cAEA,4FAII,yCACA,aAIR,0FAEI,aAGJ,uCACI,gBACA,UACA,YACA,WACA,yBACA,2BAGJ,+CACI,6OAGJ,oEACI,UACA,WACA,YACA,qBACA,gBACA,yCAGJ,oCACI,cAGJ,qBACI,sBACA,gBACA,WAGJ,uBACI,cACA,aACA,YACA,UACA,eACA,gBACA,gBACA,gBACA,cACA,cAEA,0CACI,WACA,YAGJ,gDACI,yBACA,mBACA,WAGJ,sDACI,mBCrMR,YACI,eACA,yBACA,kBACA,iBACA,mBACA,kBACA,eAEA,kBACI,mBAIR,aACI,aACA,yBACA,SACA,gBAGJ,mCACI,kBACA,oBAEA,qFAEI,WACA,cACA,kBACA,QACA,SACA,+BAGJ,2CACI,UACA,0BAGJ,0CACI,WACA,2BAIR,uCAEI,kBACA,yBACA,kBACA,mBAGJ,uBACI,kBACA,YAEA,6BACI,iBAIR,kCACI,iBAGJ,qCACI,cACA,kBACA,YACA,kBACA,mBAGJ,4BACI,kBACA,cACA,iBACA,UAKA,4BACI,WACA,qBACA,6BACA,oCACA,qCACA,sBAGJ,0BACI,eAIR,uEAGI,kBACA,MACA,YAGJ,oBACI,QACA,OACA,iBAGJ,0BACI,QACA,WACA,mBAGJ,yBACI,OACA,WACA,mBAGJ,sBACI,kBACA,MACA,QACA,SACA,WACA,iBAGJ,gFAGI,kBACA,YACA,YACA,iBAGJ,uBACI,QACA,OAGJ,6BACI,QACA,WACA,mBAGJ,4BACI,OACA,WACA,mBAGJ,qBACI,kBACA,MACA,SACA,OACA,WACA,iBCnKJ,WACI,cACA,kBACA,yBACA,MACA,OACA,sGACA,mBACA,6CACA,aAGJ,gBACI,aACA,mBACA,mBACA,gBACA,YACA,mBAGJ,oBACI,aACA,yBAGJ,iBACI,YACA,kBACA,kBAGJ,kBACI,YACA,YACA,WACA,eAGJ,+CAEI,qBACA,sBAGJ,uBACI,aACA,2DAGJ,wBACI,kBACA,iBACA,gBACA,mBACA,WACI,mLAWR,kBACI,cACA,kBACA,gBACA,iBACA,UACA,WACA,sBACA,kBAGJ,0CACI,8BACA,6BAGJ,qDAEI,aACA,oBACA,WAGJ,6BACI,iBACA,4EAGJ,wBACI,kBACA,4EAGJ,cACI,cAGJ,2CACI,yCAGJ,sCACI,yCAGJ,0BACI,kBACA,sBAEA,mEAEI,WACA,cACA,kBACA,oBACA,UACA,0BAGJ,iCACI,QAIR,4DAEI,YACA,YAGJ,8BACI,aAGJ,wDAEI,UAGJ,2BACI,aACA,gBACA,gBAGJ,oDACI,aACA,sBACA,8BACA,YACA,UAGJ,wDACI,aACA,mBACA,kBAEA,4DACI,YAIR,kDACI,YAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,2BACI,WAGJ,mBACI,oBAGJ,yBACI,iBACA,aAGJ,0CACI,UACA,iBACA,sBACA","file":"ueb-style.min.css"}
|
||||||
251
dist/ueblueprint.js
vendored
251
dist/ueblueprint.js
vendored
@@ -139,7 +139,13 @@ class SVGIcon {
|
|||||||
static genericPin = y`
|
static genericPin = y`
|
||||||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
||||||
<circle class="ueb-pin-tofill" cx="16" cy="16" r="13" fill="black" stroke="currentColor" stroke-width="5" />
|
<circle class="ueb-pin-tofill" cx="16" cy="16" r="13" fill="black" stroke="currentColor" stroke-width="5" />
|
||||||
<path d="M 34 6 L 34 26 L 42 16 Z" fill="currentColor" />
|
<path fill="currentColor" d="M 34 6 L 34 26 L 42 16 Z" />
|
||||||
|
</svg>
|
||||||
|
`
|
||||||
|
|
||||||
|
static keyboard = y `
|
||||||
|
<svg viewBox="0 -3 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill="white" d="M 1 10 H 15 c 0.2652 0 0.5195 -0.1054 0.707 -0.293 c 0.1875 -0.1875 0.293 -0.4418 0.293 -0.707 v -8 c 0 -0.2652 -0.1054 -0.5195 -0.293 -0.707 c -0.1875 -0.1875 -0.4418 -0.293 -0.707 -0.293 H 1 c -0.2652 0 -0.5195 0.1054 -0.707 0.293 c -0.1875 0.1875 -0.293 0.4418 -0.293 0.707 V 9 c 0 0.2652 0.1054 0.5195 0.293 0.707 c 0.1875 0.1875 0.4418 0.293 0.707 0.293 Z M 14 6 h -3 v -2 h 3 v 2 Z M 13 1 h 2 v 2 h -2 v -2 Z M 10 1 h 2 v 2 h -2 v -2 Z M 10 6 h -2 v -2 h 2 v 2 Z M 7 1 h 2 v 2 h -2 v -2 Z M 7 6 h -2 v -2 h 2 v 2 Z M 4 1 h 2 v 2 h -2 v -2 Z M 4 6 h -2 v -2 h 2 v 2 Z M 1 1 h 2 v 2 h -2 v -2 Z M 1 7 h 2 v 2 h -2 v -2 M 4 7 h 8 v 2 h -8 v -2 M 13 7 h 2 v 2 h -2 v -2 Z" />
|
||||||
</svg>
|
</svg>
|
||||||
`
|
`
|
||||||
|
|
||||||
@@ -230,6 +236,13 @@ class SVGIcon {
|
|||||||
</svg>
|
</svg>
|
||||||
`
|
`
|
||||||
|
|
||||||
|
static mouse = y`
|
||||||
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path opacity="0.5" fill-rule="evenodd" clip-rule="evenodd" d="M8.85714 8.34043H14L13.9143 6.6383H8.85714V0H7.14286V6.6383H2.08571L2 8.34043H7.14286H8.85714Z" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.85714 0C11 0.595745 13.4 3.31915 13.9143 6.6383H8.85714V0ZM7.14286 0C5 0.595745 2.6 3.31915 2.08571 6.6383H7.14286V0ZM8.85714 8.34043H7.14286H2C2 12.5957 3.02857 16 8 16C12.9714 16 14 12.5957 14 8.34043H8.85714Z" fill="white"/>
|
||||||
|
</svg>
|
||||||
|
`
|
||||||
|
|
||||||
static referencePin = y`
|
static referencePin = y`
|
||||||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
||||||
<polygon class="ueb-pin-tofill" points="4 16 16 4 28 16 16 28" stroke="currentColor" stroke-width="5" />
|
<polygon class="ueb-pin-tofill" points="4 16 16 4 28 16 16 28" stroke="currentColor" stroke-width="5" />
|
||||||
@@ -366,6 +379,23 @@ class Utility {
|
|||||||
return num.toFixed(decimals)
|
return num.toFixed(decimals)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @param {String} value */
|
||||||
|
static numberFromText(value = "") {
|
||||||
|
value = value.toLowerCase();
|
||||||
|
switch(value) {
|
||||||
|
case "zero": return 0
|
||||||
|
case "one": return 1
|
||||||
|
case "two": return 2
|
||||||
|
case "three": return 3
|
||||||
|
case "four": return 4
|
||||||
|
case "five": return 5
|
||||||
|
case "six": return 6
|
||||||
|
case "seven": return 7
|
||||||
|
case "eight": return 8
|
||||||
|
case "nine": return 9
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {Number} num
|
* @param {Number} num
|
||||||
* @param {Number} decimals
|
* @param {Number} decimals
|
||||||
@@ -738,6 +768,18 @@ class Configuration {
|
|||||||
"text": i$3`226, 121, 167`,
|
"text": i$3`226, 121, 167`,
|
||||||
"wildcard": i$3`128, 120, 120`,
|
"wildcard": i$3`128, 120, 120`,
|
||||||
}
|
}
|
||||||
|
static #keyName = {
|
||||||
|
"A_AccentGrave": "à",
|
||||||
|
"E_AccentGrave": "è",
|
||||||
|
"E_AccentAigu": "é",
|
||||||
|
"Add": "Num +",
|
||||||
|
"Decimal": "Num .",
|
||||||
|
"Divide": "Num /",
|
||||||
|
"Multiply": "Num *",
|
||||||
|
"Subtract": "Num -",
|
||||||
|
"Section": "§",
|
||||||
|
"C_Cedille": "ç",
|
||||||
|
}
|
||||||
static alphaPattern = "repeating-conic-gradient(#7c8184 0% 25%, #c2c3c4 0% 50%) 50% / 10px 10px"
|
static alphaPattern = "repeating-conic-gradient(#7c8184 0% 25%, #c2c3c4 0% 50%) 50% / 10px 10px"
|
||||||
static colorDragEventName = "ueb-color-drag"
|
static colorDragEventName = "ueb-color-drag"
|
||||||
static colorPickEventName = "ueb-color-pick"
|
static colorPickEventName = "ueb-color-pick"
|
||||||
@@ -768,6 +810,28 @@ class Configuration {
|
|||||||
static gridShrinkThreshold = 4 // exceding size factor threshold to cause a shrink event
|
static gridShrinkThreshold = 4 // exceding size factor threshold to cause a shrink event
|
||||||
static gridSize = 16 // px
|
static gridSize = 16 // px
|
||||||
static hexColorRegex = /^\s*#(?<r>[0-9a-fA-F]{2})(?<g>[0-9a-fA-F]{2})(?<b>[0-9a-fA-F]{2})([0-9a-fA-F]{2})?|#(?<rs>[0-9a-fA-F])(?<gs>[0-9a-fA-F])(?<bs>[0-9a-fA-F])\s*$/
|
static hexColorRegex = /^\s*#(?<r>[0-9a-fA-F]{2})(?<g>[0-9a-fA-F]{2})(?<b>[0-9a-fA-F]{2})([0-9a-fA-F]{2})?|#(?<rs>[0-9a-fA-F])(?<gs>[0-9a-fA-F])(?<bs>[0-9a-fA-F])\s*$/
|
||||||
|
/** @param {String} value */
|
||||||
|
static keyName(value) {
|
||||||
|
let result = Configuration.#keyName[value];
|
||||||
|
if (result) {
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
result = Utility.numberFromText(value);
|
||||||
|
if (result) {
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
const match = value.match(/NumPad([a-zA-Z]+)/);
|
||||||
|
if (match) {
|
||||||
|
result = Utility.numberFromText(match[1]);
|
||||||
|
if (result) {
|
||||||
|
return "Num " + result
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/** @param {NodeElement} node */
|
||||||
|
static hidAttribute(node) {
|
||||||
|
return node.entity.InputKey ?? node.entity.AxisKey ?? node.entity.InputAxisKey
|
||||||
|
}
|
||||||
static keysSeparator = "+"
|
static keysSeparator = "+"
|
||||||
static linkCurveHeight = 15 // px
|
static linkCurveHeight = 15 // px
|
||||||
static linkCurveWidth = 80 // px
|
static linkCurveWidth = 80 // px
|
||||||
@@ -791,7 +855,9 @@ class Configuration {
|
|||||||
switch (node.getType()) {
|
switch (node.getType()) {
|
||||||
case Configuration.nodeType.doN: return SVGIcon.doN
|
case Configuration.nodeType.doN: return SVGIcon.doN
|
||||||
case Configuration.nodeType.dynamicCast: return SVGIcon.cast
|
case Configuration.nodeType.dynamicCast: return SVGIcon.cast
|
||||||
case Configuration.nodeType.event: return SVGIcon.event
|
case Configuration.nodeType.event:
|
||||||
|
case Configuration.nodeType.customEvent:
|
||||||
|
return SVGIcon.event
|
||||||
case Configuration.nodeType.executionSequence: return SVGIcon.sequence
|
case Configuration.nodeType.executionSequence: return SVGIcon.sequence
|
||||||
case Configuration.nodeType.forEachElementInEnum: return SVGIcon.loop
|
case Configuration.nodeType.forEachElementInEnum: return SVGIcon.loop
|
||||||
case Configuration.nodeType.forEachLoop: return SVGIcon.forEachLoop
|
case Configuration.nodeType.forEachLoop: return SVGIcon.forEachLoop
|
||||||
@@ -811,19 +877,27 @@ class Configuration {
|
|||||||
if (node.entity.getClass() === Configuration.nodeType.macro) {
|
if (node.entity.getClass() === Configuration.nodeType.macro) {
|
||||||
return SVGIcon.macro
|
return SVGIcon.macro
|
||||||
}
|
}
|
||||||
|
if (Configuration.hidAttribute(node)?.toString().includes("Mouse")) {
|
||||||
|
return SVGIcon.mouse
|
||||||
|
}
|
||||||
return SVGIcon.functionSymbol
|
return SVGIcon.functionSymbol
|
||||||
}
|
}
|
||||||
/** @param {NodeElement} node */
|
/** @param {NodeElement} node */
|
||||||
static nodeColor(node) {
|
static nodeColor(node) {
|
||||||
const functionColor = i$3`84, 122, 156`;
|
const functionColor = i$3`84, 122, 156`; // Blue
|
||||||
const pureFunctionColor = i$3`95, 129, 90`;
|
const pureFunctionColor = i$3`95, 129, 90`; // Green
|
||||||
|
const eventColor = i$3`151, 33, 32`; // Red
|
||||||
switch (node.entity.getClass()) {
|
switch (node.entity.getClass()) {
|
||||||
case Configuration.nodeType.callFunction:
|
case Configuration.nodeType.callFunction:
|
||||||
return node.entity.bIsPureFunc
|
return node.entity.bIsPureFunc
|
||||||
? pureFunctionColor
|
? pureFunctionColor
|
||||||
: functionColor
|
: functionColor
|
||||||
case Configuration.nodeType.event:
|
case Configuration.nodeType.event:
|
||||||
return i$3`151, 33, 32`
|
case Configuration.nodeType.customEvent:
|
||||||
|
case Configuration.nodeType.inputKey:
|
||||||
|
case Configuration.nodeType.inputAxisKeyEvent:
|
||||||
|
case Configuration.nodeType.inputDebugKey:
|
||||||
|
return eventColor
|
||||||
case Configuration.nodeType.makeArray:
|
case Configuration.nodeType.makeArray:
|
||||||
case Configuration.nodeType.makeMap:
|
case Configuration.nodeType.makeMap:
|
||||||
case Configuration.nodeType.select:
|
case Configuration.nodeType.select:
|
||||||
@@ -831,9 +905,15 @@ class Configuration {
|
|||||||
case Configuration.nodeType.executionSequence:
|
case Configuration.nodeType.executionSequence:
|
||||||
case Configuration.nodeType.ifThenElse:
|
case Configuration.nodeType.ifThenElse:
|
||||||
case Configuration.nodeType.macro:
|
case Configuration.nodeType.macro:
|
||||||
return i$3`150,150,150`
|
return i$3`150,150,150` // Gray
|
||||||
case Configuration.nodeType.dynamicCast:
|
case Configuration.nodeType.dynamicCast:
|
||||||
return i$3`46, 104, 106`
|
return i$3`46, 104, 106` // Turquoise
|
||||||
|
}
|
||||||
|
if (node.entity.bIsPureFunc) {
|
||||||
|
return pureFunctionColor
|
||||||
|
}
|
||||||
|
if (node.isEvent()) {
|
||||||
|
return eventColor
|
||||||
}
|
}
|
||||||
return functionColor
|
return functionColor
|
||||||
}
|
}
|
||||||
@@ -892,22 +972,30 @@ class Configuration {
|
|||||||
return `Event ${(node.entity.EventReference?.MemberName ?? "").replace(/^Receive/, "")}`
|
return `Event ${(node.entity.EventReference?.MemberName ?? "").replace(/^Receive/, "")}`
|
||||||
case Configuration.nodeType.executionSequence:
|
case Configuration.nodeType.executionSequence:
|
||||||
return "Sequence"
|
return "Sequence"
|
||||||
case Configuration.nodeType.ifThenElse:
|
|
||||||
return "Branch"
|
|
||||||
case Configuration.nodeType.forEachElementInEnum:
|
case Configuration.nodeType.forEachElementInEnum:
|
||||||
return `For Each ${node.entity.Enum.getName()}`
|
return `For Each ${node.entity.Enum.getName()}`
|
||||||
case Configuration.nodeType.forEachLoopWithBreak:
|
case Configuration.nodeType.forEachLoopWithBreak:
|
||||||
return "For Each Loop with Break"
|
return "For Each Loop with Break"
|
||||||
|
case Configuration.nodeType.ifThenElse:
|
||||||
|
return "Branch"
|
||||||
case Configuration.nodeType.variableGet:
|
case Configuration.nodeType.variableGet:
|
||||||
return ""
|
return ""
|
||||||
case Configuration.nodeType.variableSet:
|
case Configuration.nodeType.variableSet:
|
||||||
return "SET"
|
return "SET"
|
||||||
default:
|
}
|
||||||
if (node.entity.getClass() === Configuration.nodeType.macro) {
|
const keyNameSymbol = Configuration.hidAttribute(node);
|
||||||
return Utility.formatStringName(node.entity.MacroGraphReference.getMacroName())
|
if (keyNameSymbol) {
|
||||||
} else {
|
const keyName = keyNameSymbol.toString();
|
||||||
return Utility.formatStringName(node.entity.getNameAndCounter()[0])
|
let title = Configuration.keyName(keyName) ?? Utility.formatStringName(keyName);
|
||||||
}
|
if (node.entity.getClass() === Configuration.nodeType.inputDebugKey) {
|
||||||
|
title = "Debug Key " + title;
|
||||||
|
}
|
||||||
|
return title
|
||||||
|
}
|
||||||
|
if (node.entity.getClass() === Configuration.nodeType.macro) {
|
||||||
|
return Utility.formatStringName(node.entity.MacroGraphReference.getMacroName())
|
||||||
|
} else {
|
||||||
|
return Utility.formatStringName(node.entity.getNameAndCounter()[0])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
static nodeRadius = 8 // px
|
static nodeRadius = 8 // px
|
||||||
@@ -928,7 +1016,11 @@ class Configuration {
|
|||||||
forLoop: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ForLoop",
|
forLoop: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ForLoop",
|
||||||
forLoopWithBreak: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ForLoopWithBreak",
|
forLoopWithBreak: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ForLoopWithBreak",
|
||||||
functionEntry: "/Script/BlueprintGraph.K2Node_FunctionEntry",
|
functionEntry: "/Script/BlueprintGraph.K2Node_FunctionEntry",
|
||||||
|
getInputAxisKeyValue: "/Script/BlueprintGraph.K2Node_GetInputAxisKeyValue",
|
||||||
ifThenElse: "/Script/BlueprintGraph.K2Node_IfThenElse",
|
ifThenElse: "/Script/BlueprintGraph.K2Node_IfThenElse",
|
||||||
|
inputAxisKeyEvent: "/Script/BlueprintGraph.K2Node_InputAxisKeyEvent",
|
||||||
|
inputDebugKey: "/Script/InputBlueprintNodes.K2Node_InputDebugKey",
|
||||||
|
inputKey: "/Script/BlueprintGraph.K2Node_InputKey",
|
||||||
knot: "/Script/BlueprintGraph.K2Node_Knot",
|
knot: "/Script/BlueprintGraph.K2Node_Knot",
|
||||||
macro: "/Script/BlueprintGraph.K2Node_MacroInstance",
|
macro: "/Script/BlueprintGraph.K2Node_MacroInstance",
|
||||||
makeArray: "/Script/BlueprintGraph.K2Node_MakeArray",
|
makeArray: "/Script/BlueprintGraph.K2Node_MakeArray",
|
||||||
@@ -1244,12 +1336,6 @@ class IEntity {
|
|||||||
/** @type {AttributeInformation} */
|
/** @type {AttributeInformation} */
|
||||||
let attribute = attributes[attributeName];
|
let attribute = attributes[attributeName];
|
||||||
|
|
||||||
if (!attribute) {
|
|
||||||
// Remember attributeName can come from the values and be not defined in the attributes
|
|
||||||
target[attributeName] = value;
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if (attribute instanceof SubAttributesDeclaration) {
|
if (attribute instanceof SubAttributesDeclaration) {
|
||||||
target[attributeName] = {};
|
target[attributeName] = {};
|
||||||
defineAllAttributes(
|
defineAllAttributes(
|
||||||
@@ -1279,6 +1365,12 @@ class IEntity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!attribute) {
|
||||||
|
// Remember attributeName can come from the values and be not defined in the attributes
|
||||||
|
target[attributeName] = value;
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
let defaultValue = attribute.value;
|
let defaultValue = attribute.value;
|
||||||
let defaultType = attribute.type;
|
let defaultType = attribute.type;
|
||||||
if (attribute.serialized && defaultType instanceof Function) {
|
if (attribute.serialized && defaultType instanceof Function) {
|
||||||
@@ -1501,6 +1593,14 @@ class SymbolEntity extends IEntity {
|
|||||||
super(values);
|
super(values);
|
||||||
/** @type {String} */ this.value;
|
/** @type {String} */ this.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
valueOf() {
|
||||||
|
return this.value
|
||||||
|
}
|
||||||
|
|
||||||
|
toString() {
|
||||||
|
return this.value
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class EnumEntity extends SymbolEntity {
|
class EnumEntity extends SymbolEntity {
|
||||||
@@ -1541,7 +1641,10 @@ class FunctionReferenceEntity extends IEntity {
|
|||||||
type: ObjectReferenceEntity,
|
type: ObjectReferenceEntity,
|
||||||
showDefault: false
|
showDefault: false
|
||||||
},
|
},
|
||||||
MemberName: "",
|
MemberName: {
|
||||||
|
type: String,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
static {
|
static {
|
||||||
@@ -2452,10 +2555,9 @@ class PinEntity extends IEntity {
|
|||||||
&& pinReferenceEntity.pinGuid.valueOf() == targetPinEntity.PinId.valueOf()
|
&& pinReferenceEntity.pinGuid.valueOf() == targetPinEntity.PinId.valueOf()
|
||||||
});
|
});
|
||||||
if (indexElement >= 0) {
|
if (indexElement >= 0) {
|
||||||
if (this.LinkedTo.length == 1) {
|
this.LinkedTo.splice(indexElement, 1);
|
||||||
|
if (this.LinkedTo.length === 0 && !PinEntity.attributes.LinkedTo.showDefault) {
|
||||||
this.LinkedTo = undefined;
|
this.LinkedTo = undefined;
|
||||||
} else {
|
|
||||||
this.LinkedTo.splice(indexElement, 1);
|
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
@@ -2503,6 +2605,14 @@ class ObjectEntity extends IEntity {
|
|||||||
type: ObjectReferenceEntity,
|
type: ObjectReferenceEntity,
|
||||||
},
|
},
|
||||||
Name: "",
|
Name: "",
|
||||||
|
AxisKey: {
|
||||||
|
type: SymbolEntity,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
InputAxisKey: {
|
||||||
|
type: SymbolEntity,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
bIsPureFunc: {
|
bIsPureFunc: {
|
||||||
value: false,
|
value: false,
|
||||||
showDefault: false,
|
showDefault: false,
|
||||||
@@ -2521,14 +2631,18 @@ class ObjectEntity extends IEntity {
|
|||||||
value: null,
|
value: null,
|
||||||
showDefault: false,
|
showDefault: false,
|
||||||
},
|
},
|
||||||
|
EventReference: {
|
||||||
|
type: FunctionReferenceEntity,
|
||||||
|
value: null,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
FunctionReference: {
|
FunctionReference: {
|
||||||
type: FunctionReferenceEntity,
|
type: FunctionReferenceEntity,
|
||||||
value: null,
|
value: null,
|
||||||
showDefault: false,
|
showDefault: false,
|
||||||
},
|
},
|
||||||
EventReference: {
|
CustomFunctionName: {
|
||||||
type: FunctionReferenceEntity,
|
type: String,
|
||||||
value: null,
|
|
||||||
showDefault: false,
|
showDefault: false,
|
||||||
},
|
},
|
||||||
TargetType: {
|
TargetType: {
|
||||||
@@ -2545,6 +2659,46 @@ class ObjectEntity extends IEntity {
|
|||||||
type: ObjectReferenceEntity,
|
type: ObjectReferenceEntity,
|
||||||
showDefault: false,
|
showDefault: false,
|
||||||
},
|
},
|
||||||
|
InputKey: {
|
||||||
|
type: SymbolEntity,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bOverrideFunction: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bInternalEvent: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bConsumeInput: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bExecuteWhenPaused: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bOverrideParentBinding: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bControl: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bAlt: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bShift: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bCommand: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
CommentColor: {
|
CommentColor: {
|
||||||
type: LinearColorEntity,
|
type: LinearColorEntity,
|
||||||
showDefault: false,
|
showDefault: false,
|
||||||
@@ -2628,9 +2782,15 @@ class ObjectEntity extends IEntity {
|
|||||||
super(values, suppressWarns);
|
super(values, suppressWarns);
|
||||||
/** @type {ObjectReferenceEntity} */ this.Class;
|
/** @type {ObjectReferenceEntity} */ this.Class;
|
||||||
/** @type {String} */ this.Name;
|
/** @type {String} */ this.Name;
|
||||||
|
/** @type {SymbolEntity?} */ this.AxisKey;
|
||||||
|
/** @type {SymbolEntity?} */ this.InputAxisKey;
|
||||||
|
/** @type {SymbolEntity?} */ this.InputKey;
|
||||||
/** @type {Boolean?} */ this.bIsPureFunc;
|
/** @type {Boolean?} */ this.bIsPureFunc;
|
||||||
|
/** @type {Boolean?} */ this.bIsConstFunc;
|
||||||
/** @type {VariableReferenceEntity?} */ this.VariableReference;
|
/** @type {VariableReferenceEntity?} */ this.VariableReference;
|
||||||
|
/** @type {SymbolEntity?} */ this.SelfContextInfo;
|
||||||
/** @type {FunctionReferenceEntity?} */ this.FunctionReference;
|
/** @type {FunctionReferenceEntity?} */ this.FunctionReference;
|
||||||
|
/** @type {String} */ this.CustomFunctionName;
|
||||||
/** @type {FunctionReferenceEntity?} */ this.EventReference;
|
/** @type {FunctionReferenceEntity?} */ this.EventReference;
|
||||||
/** @type {ObjectReferenceEntity?} */ this.TargetType;
|
/** @type {ObjectReferenceEntity?} */ this.TargetType;
|
||||||
/** @type {MacroGraphReferenceEntity?} */ this.MacroGraphReference;
|
/** @type {MacroGraphReferenceEntity?} */ this.MacroGraphReference;
|
||||||
@@ -2727,7 +2887,7 @@ class ObjectEntity extends IEntity {
|
|||||||
if (!this.NodePosX) {
|
if (!this.NodePosX) {
|
||||||
this.NodePosX = new IntegerEntity();
|
this.NodePosX = new IntegerEntity();
|
||||||
}
|
}
|
||||||
this.NodePosX.value = value;
|
this.NodePosX.value = Math.round(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
getNodePosY() {
|
getNodePosY() {
|
||||||
@@ -2739,7 +2899,17 @@ class ObjectEntity extends IEntity {
|
|||||||
if (!this.NodePosY) {
|
if (!this.NodePosY) {
|
||||||
this.NodePosY = new IntegerEntity();
|
this.NodePosY = new IntegerEntity();
|
||||||
}
|
}
|
||||||
this.NodePosY.value = value;
|
this.NodePosY.value = Math.round(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
isDevelopmentOnly() {
|
||||||
|
const nodeClass = this.getClass();
|
||||||
|
return this.EnabledState?.toString() === "DevelopmentOnly"
|
||||||
|
|| nodeClass.includes("Debug", Math.max(0, nodeClass.lastIndexOf(".")))
|
||||||
|
}
|
||||||
|
|
||||||
|
getDelegatePin() {
|
||||||
|
return this.CustomProperties?.find(pin => pin.PinType.PinCategory === "delegate")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3372,6 +3542,7 @@ class ISerializer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @protected
|
||||||
* @param {String} value
|
* @param {String} value
|
||||||
* @returns {T}
|
* @returns {T}
|
||||||
*/
|
*/
|
||||||
@@ -3380,6 +3551,7 @@ class ISerializer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @protected
|
||||||
* @param {T} object
|
* @param {T} object
|
||||||
* @param {Boolean} insideString
|
* @param {Boolean} insideString
|
||||||
* @returns {String}
|
* @returns {String}
|
||||||
@@ -3389,12 +3561,14 @@ class ISerializer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @protected
|
||||||
* @param {AnyValue} value
|
* @param {AnyValue} value
|
||||||
* @param {String[]} fullKey
|
* @param {String[]} fullKey
|
||||||
* @param {Boolean} insideString
|
* @param {Boolean} insideString
|
||||||
*/
|
*/
|
||||||
writeValue(entity, value, fullKey, insideString) {
|
writeValue(entity, value, fullKey, insideString) {
|
||||||
const type = Utility.getType(value);
|
const type = Utility.getType(value);
|
||||||
|
// @ts-expect-error
|
||||||
const serializer = SerializerFactory.getSerializer(type);
|
const serializer = SerializerFactory.getSerializer(type);
|
||||||
if (!serializer) {
|
if (!serializer) {
|
||||||
throw new Error(`Unknown value type "${type.name}", a serializer must be registered in the SerializerFactory class, check initializeSerializerFactory.js`)
|
throw new Error(`Unknown value type "${type.name}", a serializer must be registered in the SerializerFactory class, check initializeSerializerFactory.js`)
|
||||||
@@ -3407,6 +3581,7 @@ class ISerializer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @protected
|
||||||
* @param {String[]} key
|
* @param {String[]} key
|
||||||
* @param {Object} object
|
* @param {Object} object
|
||||||
* @param {Boolean} insideString
|
* @param {Boolean} insideString
|
||||||
@@ -5767,7 +5942,7 @@ class NodeTemplate extends ISelectableDraggableTemplate {
|
|||||||
<div class="ueb-node-inputs"></div>
|
<div class="ueb-node-inputs"></div>
|
||||||
<div class="ueb-node-outputs"></div>
|
<div class="ueb-node-outputs"></div>
|
||||||
</div>
|
</div>
|
||||||
${this.element.enabledState?.toString() == "DevelopmentOnly" ? y`
|
${this.element.entity.isDevelopmentOnly() ? y`
|
||||||
<div class="ueb-node-developmentonly">
|
<div class="ueb-node-developmentonly">
|
||||||
<span class="ueb-node-developmentonly-text">Development Only</span>
|
<span class="ueb-node-developmentonly-text">Development Only</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -6832,13 +7007,17 @@ class NodeElement extends ISelectableDraggableElement {
|
|||||||
}
|
}
|
||||||
switch (nodeEntity.getClass()) {
|
switch (nodeEntity.getClass()) {
|
||||||
case Configuration.nodeType.comment:
|
case Configuration.nodeType.comment:
|
||||||
case Configuration.nodeType.customEvent:
|
|
||||||
return CommentNodeTemplate
|
return CommentNodeTemplate
|
||||||
case Configuration.nodeType.event: return EventNodeTemplate
|
case Configuration.nodeType.event:
|
||||||
|
case Configuration.nodeType.customEvent:
|
||||||
|
return EventNodeTemplate
|
||||||
case Configuration.nodeType.knot: return KnotNodeTemplate
|
case Configuration.nodeType.knot: return KnotNodeTemplate
|
||||||
case Configuration.nodeType.variableGet: return VariableAccessNodeTemplate
|
case Configuration.nodeType.variableGet: return VariableAccessNodeTemplate
|
||||||
case Configuration.nodeType.variableSet: return VariableAccessNodeTemplate
|
case Configuration.nodeType.variableSet: return VariableAccessNodeTemplate
|
||||||
}
|
}
|
||||||
|
if (nodeEntity.getDelegatePin()) {
|
||||||
|
return EventNodeTemplate
|
||||||
|
}
|
||||||
return NodeTemplate
|
return NodeTemplate
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -6974,6 +7153,10 @@ class NodeElement extends ISelectableDraggableElement {
|
|||||||
super.setLocation(x, y, acknowledge);
|
super.setLocation(x, y, acknowledge);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isEvent() {
|
||||||
|
return this.template instanceof EventNodeTemplate
|
||||||
|
}
|
||||||
|
|
||||||
acknowledgeReflow() {
|
acknowledgeReflow() {
|
||||||
this.requestUpdate();
|
this.requestUpdate();
|
||||||
this.updateComplete.then(() => this.computeSizes());
|
this.updateComplete.then(() => this.computeSizes());
|
||||||
@@ -8812,7 +8995,7 @@ class PinElement extends IElement {
|
|||||||
|
|
||||||
/** @param {IElement[]} nodesWhitelist */
|
/** @param {IElement[]} nodesWhitelist */
|
||||||
sanitizeLinks(nodesWhitelist = []) {
|
sanitizeLinks(nodesWhitelist = []) {
|
||||||
this.entity.LinkedTo = this.getLinks().filter(pinReference => {
|
this.entity.LinkedTo = this.entity.LinkedTo?.filter(pinReference => {
|
||||||
let pin = this.blueprint.getPin(pinReference);
|
let pin = this.blueprint.getPin(pinReference);
|
||||||
if (pin) {
|
if (pin) {
|
||||||
if (nodesWhitelist.length && !nodesWhitelist.includes(pin.nodeElement)) {
|
if (nodesWhitelist.length && !nodesWhitelist.includes(pin.nodeElement)) {
|
||||||
|
|||||||
6
dist/ueblueprint.min.js
vendored
6
dist/ueblueprint.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -31,6 +31,18 @@ export default class Configuration {
|
|||||||
"text": css`226, 121, 167`,
|
"text": css`226, 121, 167`,
|
||||||
"wildcard": css`128, 120, 120`,
|
"wildcard": css`128, 120, 120`,
|
||||||
}
|
}
|
||||||
|
static #keyName = {
|
||||||
|
"A_AccentGrave": "à",
|
||||||
|
"E_AccentGrave": "è",
|
||||||
|
"E_AccentAigu": "é",
|
||||||
|
"Add": "Num +",
|
||||||
|
"Decimal": "Num .",
|
||||||
|
"Divide": "Num /",
|
||||||
|
"Multiply": "Num *",
|
||||||
|
"Subtract": "Num -",
|
||||||
|
"Section": "§",
|
||||||
|
"C_Cedille": "ç",
|
||||||
|
}
|
||||||
static alphaPattern = "repeating-conic-gradient(#7c8184 0% 25%, #c2c3c4 0% 50%) 50% / 10px 10px"
|
static alphaPattern = "repeating-conic-gradient(#7c8184 0% 25%, #c2c3c4 0% 50%) 50% / 10px 10px"
|
||||||
static colorDragEventName = "ueb-color-drag"
|
static colorDragEventName = "ueb-color-drag"
|
||||||
static colorPickEventName = "ueb-color-pick"
|
static colorPickEventName = "ueb-color-pick"
|
||||||
@@ -61,6 +73,28 @@ export default class Configuration {
|
|||||||
static gridShrinkThreshold = 4 // exceding size factor threshold to cause a shrink event
|
static gridShrinkThreshold = 4 // exceding size factor threshold to cause a shrink event
|
||||||
static gridSize = 16 // px
|
static gridSize = 16 // px
|
||||||
static hexColorRegex = /^\s*#(?<r>[0-9a-fA-F]{2})(?<g>[0-9a-fA-F]{2})(?<b>[0-9a-fA-F]{2})([0-9a-fA-F]{2})?|#(?<rs>[0-9a-fA-F])(?<gs>[0-9a-fA-F])(?<bs>[0-9a-fA-F])\s*$/
|
static hexColorRegex = /^\s*#(?<r>[0-9a-fA-F]{2})(?<g>[0-9a-fA-F]{2})(?<b>[0-9a-fA-F]{2})([0-9a-fA-F]{2})?|#(?<rs>[0-9a-fA-F])(?<gs>[0-9a-fA-F])(?<bs>[0-9a-fA-F])\s*$/
|
||||||
|
/** @param {String} value */
|
||||||
|
static keyName(value) {
|
||||||
|
let result = Configuration.#keyName[value]
|
||||||
|
if (result) {
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
result = Utility.numberFromText(value)
|
||||||
|
if (result) {
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
const match = value.match(/NumPad([a-zA-Z]+)/)
|
||||||
|
if (match) {
|
||||||
|
result = Utility.numberFromText(match[1])
|
||||||
|
if (result) {
|
||||||
|
return "Num " + result
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/** @param {NodeElement} node */
|
||||||
|
static hidAttribute(node) {
|
||||||
|
return node.entity.InputKey ?? node.entity.AxisKey ?? node.entity.InputAxisKey
|
||||||
|
}
|
||||||
static keysSeparator = "+"
|
static keysSeparator = "+"
|
||||||
static linkCurveHeight = 15 // px
|
static linkCurveHeight = 15 // px
|
||||||
static linkCurveWidth = 80 // px
|
static linkCurveWidth = 80 // px
|
||||||
@@ -84,7 +118,9 @@ export default class Configuration {
|
|||||||
switch (node.getType()) {
|
switch (node.getType()) {
|
||||||
case Configuration.nodeType.doN: return SVGIcon.doN
|
case Configuration.nodeType.doN: return SVGIcon.doN
|
||||||
case Configuration.nodeType.dynamicCast: return SVGIcon.cast
|
case Configuration.nodeType.dynamicCast: return SVGIcon.cast
|
||||||
case Configuration.nodeType.event: return SVGIcon.event
|
case Configuration.nodeType.event:
|
||||||
|
case Configuration.nodeType.customEvent:
|
||||||
|
return SVGIcon.event
|
||||||
case Configuration.nodeType.executionSequence: return SVGIcon.sequence
|
case Configuration.nodeType.executionSequence: return SVGIcon.sequence
|
||||||
case Configuration.nodeType.forEachElementInEnum: return SVGIcon.loop
|
case Configuration.nodeType.forEachElementInEnum: return SVGIcon.loop
|
||||||
case Configuration.nodeType.forEachLoop: return SVGIcon.forEachLoop
|
case Configuration.nodeType.forEachLoop: return SVGIcon.forEachLoop
|
||||||
@@ -104,19 +140,27 @@ export default class Configuration {
|
|||||||
if (node.entity.getClass() === Configuration.nodeType.macro) {
|
if (node.entity.getClass() === Configuration.nodeType.macro) {
|
||||||
return SVGIcon.macro
|
return SVGIcon.macro
|
||||||
}
|
}
|
||||||
|
if (Configuration.hidAttribute(node)?.toString().includes("Mouse")) {
|
||||||
|
return SVGIcon.mouse
|
||||||
|
}
|
||||||
return SVGIcon.functionSymbol
|
return SVGIcon.functionSymbol
|
||||||
}
|
}
|
||||||
/** @param {NodeElement} node */
|
/** @param {NodeElement} node */
|
||||||
static nodeColor(node) {
|
static nodeColor(node) {
|
||||||
const functionColor = css`84, 122, 156`
|
const functionColor = css`84, 122, 156` // Blue
|
||||||
const pureFunctionColor = css`95, 129, 90`
|
const pureFunctionColor = css`95, 129, 90` // Green
|
||||||
|
const eventColor = css`151, 33, 32` // Red
|
||||||
switch (node.entity.getClass()) {
|
switch (node.entity.getClass()) {
|
||||||
case Configuration.nodeType.callFunction:
|
case Configuration.nodeType.callFunction:
|
||||||
return node.entity.bIsPureFunc
|
return node.entity.bIsPureFunc
|
||||||
? pureFunctionColor
|
? pureFunctionColor
|
||||||
: functionColor
|
: functionColor
|
||||||
case Configuration.nodeType.event:
|
case Configuration.nodeType.event:
|
||||||
return css`151, 33, 32`
|
case Configuration.nodeType.customEvent:
|
||||||
|
case Configuration.nodeType.inputKey:
|
||||||
|
case Configuration.nodeType.inputAxisKeyEvent:
|
||||||
|
case Configuration.nodeType.inputDebugKey:
|
||||||
|
return eventColor
|
||||||
case Configuration.nodeType.makeArray:
|
case Configuration.nodeType.makeArray:
|
||||||
case Configuration.nodeType.makeMap:
|
case Configuration.nodeType.makeMap:
|
||||||
case Configuration.nodeType.select:
|
case Configuration.nodeType.select:
|
||||||
@@ -124,9 +168,15 @@ export default class Configuration {
|
|||||||
case Configuration.nodeType.executionSequence:
|
case Configuration.nodeType.executionSequence:
|
||||||
case Configuration.nodeType.ifThenElse:
|
case Configuration.nodeType.ifThenElse:
|
||||||
case Configuration.nodeType.macro:
|
case Configuration.nodeType.macro:
|
||||||
return css`150,150,150`
|
return css`150,150,150` // Gray
|
||||||
case Configuration.nodeType.dynamicCast:
|
case Configuration.nodeType.dynamicCast:
|
||||||
return css`46, 104, 106`
|
return css`46, 104, 106` // Turquoise
|
||||||
|
}
|
||||||
|
if (node.entity.bIsPureFunc) {
|
||||||
|
return pureFunctionColor
|
||||||
|
}
|
||||||
|
if (node.isEvent()) {
|
||||||
|
return eventColor
|
||||||
}
|
}
|
||||||
return functionColor
|
return functionColor
|
||||||
}
|
}
|
||||||
@@ -185,22 +235,30 @@ export default class Configuration {
|
|||||||
return `Event ${(node.entity.EventReference?.MemberName ?? "").replace(/^Receive/, "")}`
|
return `Event ${(node.entity.EventReference?.MemberName ?? "").replace(/^Receive/, "")}`
|
||||||
case Configuration.nodeType.executionSequence:
|
case Configuration.nodeType.executionSequence:
|
||||||
return "Sequence"
|
return "Sequence"
|
||||||
case Configuration.nodeType.ifThenElse:
|
|
||||||
return "Branch"
|
|
||||||
case Configuration.nodeType.forEachElementInEnum:
|
case Configuration.nodeType.forEachElementInEnum:
|
||||||
return `For Each ${node.entity.Enum.getName()}`
|
return `For Each ${node.entity.Enum.getName()}`
|
||||||
case Configuration.nodeType.forEachLoopWithBreak:
|
case Configuration.nodeType.forEachLoopWithBreak:
|
||||||
return "For Each Loop with Break"
|
return "For Each Loop with Break"
|
||||||
|
case Configuration.nodeType.ifThenElse:
|
||||||
|
return "Branch"
|
||||||
case Configuration.nodeType.variableGet:
|
case Configuration.nodeType.variableGet:
|
||||||
return ""
|
return ""
|
||||||
case Configuration.nodeType.variableSet:
|
case Configuration.nodeType.variableSet:
|
||||||
return "SET"
|
return "SET"
|
||||||
default:
|
}
|
||||||
if (node.entity.getClass() === Configuration.nodeType.macro) {
|
const keyNameSymbol = Configuration.hidAttribute(node)
|
||||||
return Utility.formatStringName(node.entity.MacroGraphReference.getMacroName())
|
if (keyNameSymbol) {
|
||||||
} else {
|
const keyName = keyNameSymbol.toString()
|
||||||
return Utility.formatStringName(node.entity.getNameAndCounter()[0])
|
let title = Configuration.keyName(keyName) ?? Utility.formatStringName(keyName)
|
||||||
}
|
if (node.entity.getClass() === Configuration.nodeType.inputDebugKey) {
|
||||||
|
title = "Debug Key " + title
|
||||||
|
}
|
||||||
|
return title
|
||||||
|
}
|
||||||
|
if (node.entity.getClass() === Configuration.nodeType.macro) {
|
||||||
|
return Utility.formatStringName(node.entity.MacroGraphReference.getMacroName())
|
||||||
|
} else {
|
||||||
|
return Utility.formatStringName(node.entity.getNameAndCounter()[0])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
static nodeRadius = 8 // px
|
static nodeRadius = 8 // px
|
||||||
@@ -221,7 +279,11 @@ export default class Configuration {
|
|||||||
forLoop: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ForLoop",
|
forLoop: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ForLoop",
|
||||||
forLoopWithBreak: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ForLoopWithBreak",
|
forLoopWithBreak: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ForLoopWithBreak",
|
||||||
functionEntry: "/Script/BlueprintGraph.K2Node_FunctionEntry",
|
functionEntry: "/Script/BlueprintGraph.K2Node_FunctionEntry",
|
||||||
|
getInputAxisKeyValue: "/Script/BlueprintGraph.K2Node_GetInputAxisKeyValue",
|
||||||
ifThenElse: "/Script/BlueprintGraph.K2Node_IfThenElse",
|
ifThenElse: "/Script/BlueprintGraph.K2Node_IfThenElse",
|
||||||
|
inputAxisKeyEvent: "/Script/BlueprintGraph.K2Node_InputAxisKeyEvent",
|
||||||
|
inputDebugKey: "/Script/InputBlueprintNodes.K2Node_InputDebugKey",
|
||||||
|
inputKey: "/Script/BlueprintGraph.K2Node_InputKey",
|
||||||
knot: "/Script/BlueprintGraph.K2Node_Knot",
|
knot: "/Script/BlueprintGraph.K2Node_Knot",
|
||||||
macro: "/Script/BlueprintGraph.K2Node_MacroInstance",
|
macro: "/Script/BlueprintGraph.K2Node_MacroInstance",
|
||||||
makeArray: "/Script/BlueprintGraph.K2Node_MakeArray",
|
makeArray: "/Script/BlueprintGraph.K2Node_MakeArray",
|
||||||
|
|||||||
@@ -115,7 +115,13 @@ export default class SVGIcon {
|
|||||||
static genericPin = html`
|
static genericPin = html`
|
||||||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
||||||
<circle class="ueb-pin-tofill" cx="16" cy="16" r="13" fill="black" stroke="currentColor" stroke-width="5" />
|
<circle class="ueb-pin-tofill" cx="16" cy="16" r="13" fill="black" stroke="currentColor" stroke-width="5" />
|
||||||
<path d="M 34 6 L 34 26 L 42 16 Z" fill="currentColor" />
|
<path fill="currentColor" d="M 34 6 L 34 26 L 42 16 Z" />
|
||||||
|
</svg>
|
||||||
|
`
|
||||||
|
|
||||||
|
static keyboard = html `
|
||||||
|
<svg viewBox="0 -3 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill="white" d="M 1 10 H 15 c 0.2652 0 0.5195 -0.1054 0.707 -0.293 c 0.1875 -0.1875 0.293 -0.4418 0.293 -0.707 v -8 c 0 -0.2652 -0.1054 -0.5195 -0.293 -0.707 c -0.1875 -0.1875 -0.4418 -0.293 -0.707 -0.293 H 1 c -0.2652 0 -0.5195 0.1054 -0.707 0.293 c -0.1875 0.1875 -0.293 0.4418 -0.293 0.707 V 9 c 0 0.2652 0.1054 0.5195 0.293 0.707 c 0.1875 0.1875 0.4418 0.293 0.707 0.293 Z M 14 6 h -3 v -2 h 3 v 2 Z M 13 1 h 2 v 2 h -2 v -2 Z M 10 1 h 2 v 2 h -2 v -2 Z M 10 6 h -2 v -2 h 2 v 2 Z M 7 1 h 2 v 2 h -2 v -2 Z M 7 6 h -2 v -2 h 2 v 2 Z M 4 1 h 2 v 2 h -2 v -2 Z M 4 6 h -2 v -2 h 2 v 2 Z M 1 1 h 2 v 2 h -2 v -2 Z M 1 7 h 2 v 2 h -2 v -2 M 4 7 h 8 v 2 h -8 v -2 M 13 7 h 2 v 2 h -2 v -2 Z" />
|
||||||
</svg>
|
</svg>
|
||||||
`
|
`
|
||||||
|
|
||||||
@@ -206,6 +212,13 @@ export default class SVGIcon {
|
|||||||
</svg>
|
</svg>
|
||||||
`
|
`
|
||||||
|
|
||||||
|
static mouse = html`
|
||||||
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path opacity="0.5" fill-rule="evenodd" clip-rule="evenodd" d="M8.85714 8.34043H14L13.9143 6.6383H8.85714V0H7.14286V6.6383H2.08571L2 8.34043H7.14286H8.85714Z" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.85714 0C11 0.595745 13.4 3.31915 13.9143 6.6383H8.85714V0ZM7.14286 0C5 0.595745 2.6 3.31915 2.08571 6.6383H7.14286V0ZM8.85714 8.34043H7.14286H2C2 12.5957 3.02857 16 8 16C12.9714 16 14 12.5957 14 8.34043H8.85714Z" fill="white"/>
|
||||||
|
</svg>
|
||||||
|
`
|
||||||
|
|
||||||
static referencePin = html`
|
static referencePin = html`
|
||||||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
||||||
<polygon class="ueb-pin-tofill" points="4 16 16 4 28 16 16 28" stroke="currentColor" stroke-width="5" />
|
<polygon class="ueb-pin-tofill" points="4 16 16 4 28 16 16 28" stroke="currentColor" stroke-width="5" />
|
||||||
|
|||||||
@@ -63,6 +63,23 @@ export default class Utility {
|
|||||||
return num.toFixed(decimals)
|
return num.toFixed(decimals)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @param {String} value */
|
||||||
|
static numberFromText(value = "") {
|
||||||
|
value = value.toLowerCase()
|
||||||
|
switch(value) {
|
||||||
|
case "zero": return 0
|
||||||
|
case "one": return 1
|
||||||
|
case "two": return 2
|
||||||
|
case "three": return 3
|
||||||
|
case "four": return 4
|
||||||
|
case "five": return 5
|
||||||
|
case "six": return 6
|
||||||
|
case "seven": return 7
|
||||||
|
case "eight": return 8
|
||||||
|
case "nine": return 9
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {Number} num
|
* @param {Number} num
|
||||||
* @param {Number} decimals
|
* @param {Number} decimals
|
||||||
|
|||||||
@@ -133,13 +133,17 @@ export default class NodeElement extends ISelectableDraggableElement {
|
|||||||
}
|
}
|
||||||
switch (nodeEntity.getClass()) {
|
switch (nodeEntity.getClass()) {
|
||||||
case Configuration.nodeType.comment:
|
case Configuration.nodeType.comment:
|
||||||
case Configuration.nodeType.customEvent:
|
|
||||||
return CommentNodeTemplate
|
return CommentNodeTemplate
|
||||||
case Configuration.nodeType.event: return EventNodeTemplate
|
case Configuration.nodeType.event:
|
||||||
|
case Configuration.nodeType.customEvent:
|
||||||
|
return EventNodeTemplate
|
||||||
case Configuration.nodeType.knot: return KnotNodeTemplate
|
case Configuration.nodeType.knot: return KnotNodeTemplate
|
||||||
case Configuration.nodeType.variableGet: return VariableAccessNodeTemplate
|
case Configuration.nodeType.variableGet: return VariableAccessNodeTemplate
|
||||||
case Configuration.nodeType.variableSet: return VariableAccessNodeTemplate
|
case Configuration.nodeType.variableSet: return VariableAccessNodeTemplate
|
||||||
}
|
}
|
||||||
|
if (nodeEntity.getDelegatePin()) {
|
||||||
|
return EventNodeTemplate
|
||||||
|
}
|
||||||
return NodeTemplate
|
return NodeTemplate
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -275,6 +279,10 @@ export default class NodeElement extends ISelectableDraggableElement {
|
|||||||
super.setLocation(x, y, acknowledge)
|
super.setLocation(x, y, acknowledge)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isEvent() {
|
||||||
|
return this.template instanceof EventNodeTemplate
|
||||||
|
}
|
||||||
|
|
||||||
acknowledgeReflow() {
|
acknowledgeReflow() {
|
||||||
this.requestUpdate()
|
this.requestUpdate()
|
||||||
this.updateComplete.then(() => this.computeSizes())
|
this.updateComplete.then(() => this.computeSizes())
|
||||||
|
|||||||
@@ -210,7 +210,7 @@ export default class PinElement extends IElement {
|
|||||||
|
|
||||||
/** @param {IElement[]} nodesWhitelist */
|
/** @param {IElement[]} nodesWhitelist */
|
||||||
sanitizeLinks(nodesWhitelist = []) {
|
sanitizeLinks(nodesWhitelist = []) {
|
||||||
this.entity.LinkedTo = this.getLinks().filter(pinReference => {
|
this.entity.LinkedTo = this.entity.LinkedTo?.filter(pinReference => {
|
||||||
let pin = this.blueprint.getPin(pinReference)
|
let pin = this.blueprint.getPin(pinReference)
|
||||||
if (pin) {
|
if (pin) {
|
||||||
if (nodesWhitelist.length && !nodesWhitelist.includes(pin.nodeElement)) {
|
if (nodesWhitelist.length && !nodesWhitelist.includes(pin.nodeElement)) {
|
||||||
|
|||||||
@@ -8,7 +8,10 @@ export default class FunctionReferenceEntity extends IEntity {
|
|||||||
type: ObjectReferenceEntity,
|
type: ObjectReferenceEntity,
|
||||||
showDefault: false
|
showDefault: false
|
||||||
},
|
},
|
||||||
MemberName: "",
|
MemberName: {
|
||||||
|
type: String,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
|||||||
@@ -58,12 +58,6 @@ export default class IEntity {
|
|||||||
/** @type {AttributeInformation} */
|
/** @type {AttributeInformation} */
|
||||||
let attribute = attributes[attributeName]
|
let attribute = attributes[attributeName]
|
||||||
|
|
||||||
if (!attribute) {
|
|
||||||
// Remember attributeName can come from the values and be not defined in the attributes
|
|
||||||
target[attributeName] = value
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if (attribute instanceof SubAttributesDeclaration) {
|
if (attribute instanceof SubAttributesDeclaration) {
|
||||||
target[attributeName] = {}
|
target[attributeName] = {}
|
||||||
defineAllAttributes(
|
defineAllAttributes(
|
||||||
@@ -93,6 +87,12 @@ export default class IEntity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!attribute) {
|
||||||
|
// Remember attributeName can come from the values and be not defined in the attributes
|
||||||
|
target[attributeName] = value
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
let defaultValue = attribute.value
|
let defaultValue = attribute.value
|
||||||
let defaultType = attribute.type
|
let defaultType = attribute.type
|
||||||
if (attribute.serialized && defaultType instanceof Function) {
|
if (attribute.serialized && defaultType instanceof Function) {
|
||||||
|
|||||||
@@ -18,6 +18,14 @@ export default class ObjectEntity extends IEntity {
|
|||||||
type: ObjectReferenceEntity,
|
type: ObjectReferenceEntity,
|
||||||
},
|
},
|
||||||
Name: "",
|
Name: "",
|
||||||
|
AxisKey: {
|
||||||
|
type: SymbolEntity,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
InputAxisKey: {
|
||||||
|
type: SymbolEntity,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
bIsPureFunc: {
|
bIsPureFunc: {
|
||||||
value: false,
|
value: false,
|
||||||
showDefault: false,
|
showDefault: false,
|
||||||
@@ -36,14 +44,18 @@ export default class ObjectEntity extends IEntity {
|
|||||||
value: null,
|
value: null,
|
||||||
showDefault: false,
|
showDefault: false,
|
||||||
},
|
},
|
||||||
|
EventReference: {
|
||||||
|
type: FunctionReferenceEntity,
|
||||||
|
value: null,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
FunctionReference: {
|
FunctionReference: {
|
||||||
type: FunctionReferenceEntity,
|
type: FunctionReferenceEntity,
|
||||||
value: null,
|
value: null,
|
||||||
showDefault: false,
|
showDefault: false,
|
||||||
},
|
},
|
||||||
EventReference: {
|
CustomFunctionName: {
|
||||||
type: FunctionReferenceEntity,
|
type: String,
|
||||||
value: null,
|
|
||||||
showDefault: false,
|
showDefault: false,
|
||||||
},
|
},
|
||||||
TargetType: {
|
TargetType: {
|
||||||
@@ -60,6 +72,46 @@ export default class ObjectEntity extends IEntity {
|
|||||||
type: ObjectReferenceEntity,
|
type: ObjectReferenceEntity,
|
||||||
showDefault: false,
|
showDefault: false,
|
||||||
},
|
},
|
||||||
|
InputKey: {
|
||||||
|
type: SymbolEntity,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bOverrideFunction: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bInternalEvent: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bConsumeInput: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bExecuteWhenPaused: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bOverrideParentBinding: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bControl: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bAlt: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bShift: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
|
bCommand: {
|
||||||
|
type: Boolean,
|
||||||
|
showDefault: false,
|
||||||
|
},
|
||||||
CommentColor: {
|
CommentColor: {
|
||||||
type: LinearColorEntity,
|
type: LinearColorEntity,
|
||||||
showDefault: false,
|
showDefault: false,
|
||||||
@@ -143,9 +195,15 @@ export default class ObjectEntity extends IEntity {
|
|||||||
super(values, suppressWarns)
|
super(values, suppressWarns)
|
||||||
/** @type {ObjectReferenceEntity} */ this.Class
|
/** @type {ObjectReferenceEntity} */ this.Class
|
||||||
/** @type {String} */ this.Name
|
/** @type {String} */ this.Name
|
||||||
|
/** @type {SymbolEntity?} */ this.AxisKey
|
||||||
|
/** @type {SymbolEntity?} */ this.InputAxisKey
|
||||||
|
/** @type {SymbolEntity?} */ this.InputKey
|
||||||
/** @type {Boolean?} */ this.bIsPureFunc
|
/** @type {Boolean?} */ this.bIsPureFunc
|
||||||
|
/** @type {Boolean?} */ this.bIsConstFunc
|
||||||
/** @type {VariableReferenceEntity?} */ this.VariableReference
|
/** @type {VariableReferenceEntity?} */ this.VariableReference
|
||||||
|
/** @type {SymbolEntity?} */ this.SelfContextInfo
|
||||||
/** @type {FunctionReferenceEntity?} */ this.FunctionReference
|
/** @type {FunctionReferenceEntity?} */ this.FunctionReference
|
||||||
|
/** @type {String} */ this.CustomFunctionName
|
||||||
/** @type {FunctionReferenceEntity?} */ this.EventReference
|
/** @type {FunctionReferenceEntity?} */ this.EventReference
|
||||||
/** @type {ObjectReferenceEntity?} */ this.TargetType
|
/** @type {ObjectReferenceEntity?} */ this.TargetType
|
||||||
/** @type {MacroGraphReferenceEntity?} */ this.MacroGraphReference
|
/** @type {MacroGraphReferenceEntity?} */ this.MacroGraphReference
|
||||||
@@ -242,7 +300,7 @@ export default class ObjectEntity extends IEntity {
|
|||||||
if (!this.NodePosX) {
|
if (!this.NodePosX) {
|
||||||
this.NodePosX = new IntegerEntity()
|
this.NodePosX = new IntegerEntity()
|
||||||
}
|
}
|
||||||
this.NodePosX.value = value
|
this.NodePosX.value = Math.round(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
getNodePosY() {
|
getNodePosY() {
|
||||||
@@ -254,6 +312,16 @@ export default class ObjectEntity extends IEntity {
|
|||||||
if (!this.NodePosY) {
|
if (!this.NodePosY) {
|
||||||
this.NodePosY = new IntegerEntity()
|
this.NodePosY = new IntegerEntity()
|
||||||
}
|
}
|
||||||
this.NodePosY.value = value
|
this.NodePosY.value = Math.round(value)
|
||||||
|
}
|
||||||
|
|
||||||
|
isDevelopmentOnly() {
|
||||||
|
const nodeClass = this.getClass()
|
||||||
|
return this.EnabledState?.toString() === "DevelopmentOnly"
|
||||||
|
|| nodeClass.includes("Debug", Math.max(0, nodeClass.lastIndexOf(".")))
|
||||||
|
}
|
||||||
|
|
||||||
|
getDelegatePin() {
|
||||||
|
return this.CustomProperties?.find(pin => pin.PinType.PinCategory === "delegate")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -266,10 +266,9 @@ export default class PinEntity extends IEntity {
|
|||||||
&& pinReferenceEntity.pinGuid.valueOf() == targetPinEntity.PinId.valueOf()
|
&& pinReferenceEntity.pinGuid.valueOf() == targetPinEntity.PinId.valueOf()
|
||||||
})
|
})
|
||||||
if (indexElement >= 0) {
|
if (indexElement >= 0) {
|
||||||
if (this.LinkedTo.length == 1) {
|
this.LinkedTo.splice(indexElement, 1)
|
||||||
|
if (this.LinkedTo.length === 0 && !PinEntity.attributes.LinkedTo.showDefault) {
|
||||||
this.LinkedTo = undefined
|
this.LinkedTo = undefined
|
||||||
} else {
|
|
||||||
this.LinkedTo.splice(indexElement, 1)
|
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,4 +14,12 @@ export default class SymbolEntity extends IEntity {
|
|||||||
super(values)
|
super(values)
|
||||||
/** @type {String} */ this.value
|
/** @type {String} */ this.value
|
||||||
}
|
}
|
||||||
|
|
||||||
|
valueOf() {
|
||||||
|
return this.value
|
||||||
|
}
|
||||||
|
|
||||||
|
toString() {
|
||||||
|
return this.value
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ export default class ISerializer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @protected
|
||||||
* @param {String} value
|
* @param {String} value
|
||||||
* @returns {T}
|
* @returns {T}
|
||||||
*/
|
*/
|
||||||
@@ -54,6 +55,7 @@ export default class ISerializer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @protected
|
||||||
* @param {T} object
|
* @param {T} object
|
||||||
* @param {Boolean} insideString
|
* @param {Boolean} insideString
|
||||||
* @returns {String}
|
* @returns {String}
|
||||||
@@ -63,12 +65,14 @@ export default class ISerializer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @protected
|
||||||
* @param {AnyValue} value
|
* @param {AnyValue} value
|
||||||
* @param {String[]} fullKey
|
* @param {String[]} fullKey
|
||||||
* @param {Boolean} insideString
|
* @param {Boolean} insideString
|
||||||
*/
|
*/
|
||||||
writeValue(entity, value, fullKey, insideString) {
|
writeValue(entity, value, fullKey, insideString) {
|
||||||
const type = Utility.getType(value)
|
const type = Utility.getType(value)
|
||||||
|
// @ts-expect-error
|
||||||
const serializer = SerializerFactory.getSerializer(type)
|
const serializer = SerializerFactory.getSerializer(type)
|
||||||
if (!serializer) {
|
if (!serializer) {
|
||||||
throw new Error(`Unknown value type "${type.name}", a serializer must be registered in the SerializerFactory class, check initializeSerializerFactory.js`)
|
throw new Error(`Unknown value type "${type.name}", a serializer must be registered in the SerializerFactory class, check initializeSerializerFactory.js`)
|
||||||
@@ -81,6 +85,7 @@ export default class ISerializer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @protected
|
||||||
* @param {String[]} key
|
* @param {String[]} key
|
||||||
* @param {Object} object
|
* @param {Object} object
|
||||||
* @param {Boolean} insideString
|
* @param {Boolean} insideString
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ export default class NodeTemplate extends ISelectableDraggableTemplate {
|
|||||||
<div class="ueb-node-inputs"></div>
|
<div class="ueb-node-inputs"></div>
|
||||||
<div class="ueb-node-outputs"></div>
|
<div class="ueb-node-outputs"></div>
|
||||||
</div>
|
</div>
|
||||||
${this.element.enabledState?.toString() == "DevelopmentOnly" ? html`
|
${this.element.entity.isDevelopmentOnly() ? html`
|
||||||
<div class="ueb-node-developmentonly">
|
<div class="ueb-node-developmentonly">
|
||||||
<span class="ueb-node-developmentonly-text">Development Only</span>
|
<span class="ueb-node-developmentonly-text">Development Only</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
ueb-node {
|
ueb-node {
|
||||||
display: block;
|
display: block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
min-width: 130px;
|
min-width: 100px;
|
||||||
border-radius: var(--ueb-node-radius);
|
border-radius: var(--ueb-node-radius);
|
||||||
box-shadow: 0 0 1px 0 black, 1px 4px 6px 0 rgba(0, 0, 0, 0.3);
|
box-shadow: 0 0 1px 0 black, 1px 4px 6px 0 rgba(0, 0, 0, 0.3);
|
||||||
font-weight: lighter;
|
font-weight: lighter;
|
||||||
@@ -108,6 +108,7 @@ ueb-node.ueb-node-style-event .ueb-node-top ueb-pin {
|
|||||||
|
|
||||||
.ueb-node-name {
|
.ueb-node-name {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
background: radial-gradient(ellipse 100% 100% at 40% 50%, rgba(0, 0, 0, 0.5) 20%, transparent 50%);
|
background: radial-gradient(ellipse 100% 100% at 40% 50%, rgba(0, 0, 0, 0.5) 20%, transparent 50%);
|
||||||
margin: -1px -15px;
|
margin: -1px -15px;
|
||||||
padding: 2px 15px;
|
padding: 2px 15px;
|
||||||
@@ -156,15 +157,14 @@ ueb-node[data-pure-function="true"] .ueb-node-name-symbol {
|
|||||||
|
|
||||||
.ueb-node-outputs {
|
.ueb-node-outputs {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
padding-right: 8px;
|
padding-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ueb-node-has-inputs .ueb-node-outputs {
|
.ueb-node-has-inputs .ueb-node-outputs {
|
||||||
margin-left: 20px;
|
margin-left: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ueb-node-developmentonly {
|
.ueb-node-developmentonly {
|
||||||
display: none;
|
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
background: repeating-linear-gradient(-45deg,
|
background: repeating-linear-gradient(-45deg,
|
||||||
@@ -183,18 +183,16 @@ ueb-node[data-pure-function="true"] .ueb-node-name-symbol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ueb-node-developmentonly-text {
|
.ueb-node-developmentonly-text {
|
||||||
|
padding: 0 10px;
|
||||||
letter-spacing: 0.04em;
|
letter-spacing: 0.04em;
|
||||||
text-shadow: 1px 1px 1px black;
|
text-shadow: 1px 1px 1px black;
|
||||||
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ueb-zoom--6 .ueb-node-developmentonly-text {
|
.ueb-zoom--6 .ueb-node-developmentonly-text {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
ueb-node[data-enabled-state="DevelopmentOnly"] .ueb-node-developmentonly {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ueb-node-expansion {
|
.ueb-node-expansion {
|
||||||
display: none;
|
display: none;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|||||||
Reference in New Issue
Block a user