From 85ab894665382a303c0c9fe2f655de8a64869109 Mon Sep 17 00:00:00 2001 From: DuOtto Date: Wed, 29 Jul 2026 14:50:46 +0200 Subject: [PATCH] Added LineIcon --- Table/Content/Camera/BP_Projector.uasset | Bin 95287 -> 94026 bytes .../BP_GestureAction_Ruler.uasset | Bin 25243 -> 25361 bytes .../TableIcons/BP_LabelIcon.uasset | Bin 0 -> 44693 bytes ...conLineActor.uasset => BP_LineIcon.uasset} | Bin 24990 -> 24724 bytes .../TableIcons/Widgets/W_IconLabel.uasset | Bin 0 -> 30759 bytes .../Source/Table/Private/MyGestureActions.cpp | 24 ++- .../Table/Private/MyTableIconActors.cpp | 33 +--- Table/Source/Table/Public/MyGestureActions.h | 2 +- Table/Source/Table/Public/MyTableIconActors.h | 32 ++-- .../MyGestureActions.cpp | 69 -------- .../MyTableIconActors.cpp | 161 ------------------ 11 files changed, 44 insertions(+), 277 deletions(-) create mode 100644 Table/Content/WorldObjects/TableIcons/BP_LabelIcon.uasset rename Table/Content/WorldObjects/TableIcons/{BP_TableIconLineActor.uasset => BP_LineIcon.uasset} (57%) create mode 100644 Table/Content/WorldObjects/TableIcons/Widgets/W_IconLabel.uasset delete mode 100644 Table/enc_temp_folder/818ed75f49bf8f964599b398d81a43/MyGestureActions.cpp delete mode 100644 Table/enc_temp_folder/d06d726b1f8919e2123e6effd51e7/MyTableIconActors.cpp diff --git a/Table/Content/Camera/BP_Projector.uasset b/Table/Content/Camera/BP_Projector.uasset index eb3b5856bb411b99335b233a9d7de1482e1f9c1a..429e4853be31fa0916ad4c73a2b2cb0d5d4fbaef 100644 GIT binary patch literal 94026 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 KzZ3-o{{I2TF1f=1 literal 95287 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 diff --git a/Table/Content/WorldObjects/GestureActions/BP_GestureAction_Ruler.uasset b/Table/Content/WorldObjects/GestureActions/BP_GestureAction_Ruler.uasset index 8604fdab9dca53e98624e74287cdfd9522810476..99572b23b050f38f7a41b853b66411f6fdb7a6aa 100644 GIT binary patch delta 1423 zcmZ{kZAepL6vvZRVI{w#;5Aio#iG>DuPYVoA=at1O-NW}0ab8DvnC zV||G}L?A&>$^9hN#|kNoh%6*QBkF_VYnEnj=ec`sT^k*E?m5r@{LagVd++tfwCxEE z>EfREmbNCnU1v*rXe<%OM>BmF{ke8Wr%g*W&4iGAfe;P)H?W(g?eEnR5`(updP0_> zFOSCu+K}n5zrHAZrzmYU6Ox6e91pW>Ga>M)Z+Tta?d z+Sg;}#0@cpRP4~SFI-ZM0JAaNGZ+pD3>GfY$ca%*)Id$VK~u}qBdDB=Q0gO;2By$j zc&1DFQ#*{csyQT6sv?wXUTau3xAsf~*%YC8nX*RSb_n~Q;+to4&)g9n%ef&q5^ti7 z@Bk+^D!59izfw6Ip-`q^ZL~fmNlD5xlyj${K%Xqw9bhgo!Zm%G`YSFt0Z;WNVX+$q zO-7h+*b;Y?Z?Fk{1&?2_v=y2S3AR!$eZg8D680|E@ksuE)csu)Pf0`_0I^&=79<)x@6 zu)PMfdv#!T4AX<6W>2p`C*Xt2vsAe#8>AxV$v1GiGa;0(f_C>Z2)R|X0?s=1LQ58O zx~=pFwB;wmtoy1I4bmCt_9Tc`3LaDS3=VQZn>PcT9-G)zq@{F5?DqT&XPj~d#=I&q z-MgNuSOJul)90N^0`=H0 z=|?{de?(}PAi=(V*v~+s1St@M!ZHobG^5#hx4T@jd*Hn1yzldz=bU>l?;U(aN2cjO zZ1kNESr1R&V=_uhxezV-BC^4!K-o1;d4Ng|{+3U1L0^*#~cEd7>Mc zO?DsKziy)~8u1(t9DIRfJ`{4ojr167E25JtY<4GCRNvOxm3GQh`)_A#ZsqdoyW2X+ zbr>&#mGCBQES3kQ)aDbeKg7XbiKw7z_Ev z>_wV|H`y&jR@3%hjaxuiXc9%vGbGIaecX_x)XM`aCA;vYI1T*;50pugMI+284YEya zyarm8MlxxFJe4)7Rp@&XV}X#nU|f}-nlJ1&utZ1+>)a)5LNQJX`BO6_stw7zsSN?t z2_bjEfVw#OPk^Wtksfp=&O|LCxS;8W;)4_MB72EeR*BXR?eWFBV3JIUNj3`1Su1qJ zTjFGRnBH!9GTx!(@yN6X`j;(<)jPG88YRG``^2E$O)%CRQBSi z{(o6>$Npsmr@HN%J{@qlxP3$47ccwa=tn1IrV{Le{qr)uD17ty57ufAtXMo|WG{kM zT=LSK!lJYROXn=zyXl?1Z6^?H{TV~%ubtko>y>8*-TlH72mAGPY1*pimwWHYo_^pT zGm7s%@4-Ef5gBdR^Hn!LHhtus`MndjJ+u0L&-ny&^;@j-nFy%%ZVov z?4sb|r&qe~%YAj=)@uU^Lrxz-u$*}}{W-t%(R1(IHDGP$=?$;C3HDyoeQ&;#v+d)P zUP|4W{YZY&c?4^!@ALNTlHrTm&dyr9b>7H90|_>kKFI~17Cm{E&)?iIy>6ji9}FZ{ zdFq<=qIzFzAUUVJw!~AXH{*(sduczW@7biflj)c>K+_WGn4XfKnLWWh(Vd!~o|id3 zKYLcu3Zcky79Exi)ilU=(-{)>@)+|thnT`OsYyFR%=IS3Q9!10 z5*_b4W9Hm(XALddlfL$@iOZh54|wPkOdY57p>M5MQBUGZ8#{JpUi#Pyy;=7J^l|A) znQ`mU7-hHX!CP=#Mf5yB!kJmfbdJC-HWNs<)OAshTQdLJa5{C7Tv_k;wgr=On%ng@ zzqd75;PuK2wg3_G!_$3s14s<+U#Gw(8pYsq2a$HaDqk_5^jb z(U3NUxWY-6Mer?>-!{=b+vi*KfXSv_kru&1PTG4%Pc+n|AeM@qEEp5J5y)~%K ztZEdrvIDacF#ZX`611Lg-*`?xU+H3bVXixV(Yv!3ΞlW_qTeQX9o1? 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 OuP1*tIz?V;!2drF^Ul`* literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/TableIcons/BP_TableIconLineActor.uasset b/Table/Content/WorldObjects/TableIcons/BP_LineIcon.uasset similarity index 57% rename from Table/Content/WorldObjects/TableIcons/BP_TableIconLineActor.uasset rename to Table/Content/WorldObjects/TableIcons/BP_LineIcon.uasset index caa1280f561ef219723243d15bc343c653fd5360..192de310a400faa8126360ef888d5ac7c622052e 100644 GIT binary patch delta 1737 zcmcgsZA_b06n<}Elk(Be(YIex=rC+7!9m5PfTIkgqb;QkUqam4LR&T{AWFw38y_=9 z-4oapn#f3!6#c+Pt$mHuBL7di{hgIUNU8r7{(#Q`n((k9DB1XaNhIY7_d5()>Rkx5@x;N?FXRmN>J5VKmiS$K^Q6$A`w(oZ$~ zC^y2Qya8fz6D-TjAd$ZY<1#BG<@?A8{TFX1EA$=$S&c$`Wr$91V^!xklk=Y^(r#0>U#1RBou$3e_J_2^59LCmPkdNFX{rS z!NJ!`>F=kKghj2XD6_)pN8u80AYIJm2YS(P%Cs>b$-V>XLrP}LsHAbtS+zUOsY|C6Jt)(n4)QhP;)}ueHuR1Rgmeo z^{8N?VHSRt+51>%3L-j#bS8~}O~)6Hu+<#1>lpU}JklSMEIDDKy97E7 z9?7a3Cdx|SmZ3p2&f=_S=b7*60Pph^&|oxFonz2LEW=#!9!#=D9@;ONpGc)$HCi;G zZFHRZ7d&EBXm(Fdim&&I^d&~)br$LV+!P(_66r^brb#qA%;>e}L^@Jp z(VRj!T|7n|6z?&SUO{>)g>d`v;izK%>T!r0^w4OsX(lo>J_yWL_{8k5OcqUg9yD9Y z=sKU6Z7Q{CW)Vv7y~b!~D*OFXyX0xVSg5eUk*Q#_wY#s^@lwCHsf)(<*jrBy*n1p(HP&b?W$6 zO~OX`7iQvziMIXlgWbI6za9laceI|!v(5;kZ7u)z37&y#<+hRn9B2D@Fd7ND1EZnr z$qMf}J%j{d&Gngdh)y465I$;uk_3c%?XO637H##A=+Fu=PmPR(gxkku5)y{5I}bum H;JtqUM61S$ delta 2142 zcmd6nZ%kWN6u|F&g&}OTMarY4mVdHzs9{(j3u71yMb=VE%fCV$>)P5f)(1?+zd8O4 z%-jb*=s1f@L^l$%m}r(sUd)`vY>OZKV5TwK2NR7tKgnPNmKbMZqUXL|q?_&HM^EzZ zIrsd|IrrbY_w+S-_6z!^Uff;ZzOwMiudCTTSJzE1>^gR%_v<@z&QoQ-&`QXnCEMEr zK`Cqx4GuW_2Ex|R@Zb<3B!$dk8xRQDhPprvZu)f3nuZWHb~Q#qa#4@524!c_roO0+ z^(neeqW=y2E^-d2f9hO%XWeXe&I%JXKicnWDaNsyv+x~lsxsXE_H|avSWL*F0JApb zFO)eaA${l?h-1ns^a)n+8hm8e!Osp+UJ$0~b0X%|x%~+O$9m7dt4~J#^&~v0iputs z+o{`47}eI);PfXfgrVotU01-BF`1Kzk?nnVQ4NS-ElVMa88M>mU6H+3~M zL*AYBC8Z%*$Zn!^E1b~IAW6%zY{BC}VLwY2GX`0MvW7=D47c`Wr?cZ`G6>OJb7njr zV?5^{9t$I@n0f4>%+GSobP%@cH}mge)Ih>~Mvf#U(@DwkhsOLcZnQgCb24G(3X&Ox z;Kfno6|UEj9DN{Xf)l3t9vE!`mJMb)0rLiPW_*;8G(Vb@ND7Jau_n1*!r6=~WMiJw zab!v%68Fq-&DQoZBk)09i7@AcYhC$pH_t76(*ldeeAsW?BOd0l)u_*MyVebhUNiij zXDoZ0yY6EtZW4CjBfRq%>dV~zK9<(_M1>fM!;9QL?NO>;LOhBtR)uAEs$#sMRl#Oc z46{`->`RH^`3?o2;g}^c9O3x4ZUv|1SBPWi-Y9;G87MFASMV6(@tB8{;)7Yn?G-;< z&G(7y6=hP2-&2Z3NZtV@(_2s>PH`8@RPGA)Z3keXz$YF@b7Rb99@Y`d+*Q~pJReYs zykGdSG5M2r2KtK%8Xoniy;nrYRP4SIwm(U0!RJMl)C$Xc#|4`Qq~h}Fj&85xh_6FB z6tq+|2fS61$LlH&R@kkLR+I*Zr|a3)gWdh(Qk&N`8jOw~4)%A}byu{GhNNnn)mq7- zMmsF7qk*ovawm_q)-|KME@^F+6chND;XQ0%y{7g$+#af=iSXbfVHJ+b##QDg7D z#BMCa-W#!i1qdqq=ghscd#RGdFW>jS&pWz1_ntX3r_PzO_YQ}@Yq2;hFE4LsSwhUp z5RwBqrg`m0NB!tFH{9gqH#-(Qo|-ux$r36zB>Iqy)lN^29OkcV>s3JS*ip0W^533W`!a`r(0VmcTYR}ww|^wZf!ikd!8;F^z3wn1jNHOk*RW2@x;WtYz??;*|Lv^W6R#0 zl9Oq<){fTgKU)r!Xlf)oyd5vr1KqbVJdAyV7v!Ode*i$1sO;~lGrj9MvzpM7O+ctd z5v{XvQ){?ByeUYwck3=F87uQpg)3AXN$UE&cNGyhKq=F4q=iT31{9hhQz*7Z9Axn$ zD~U?__;``FgWpIi0?b9J6pT!cHZh+^LDA8iOe0f;a-{a@>_$k*MWd0$`D@hCoJJQ% zyf;5oAX_0&SsmjJ>eVUKDw3B`0I?8;CTKDm5P&-;nq!h)+$ukSD{q^4(ZjnQz!I2 zS1v*}LZQ}>+w*U(M=geU#74_ha!&58a_6*)a22N^b4~{P)y1-IGA*xU@2F@cha@?< zzf7Uh5g&(7%5RH92~>nek{*Y`d!i0QytRF08U=O{^82gDeQ3iyxo}x%oG-`81J(X| zO*j`2$tintVOlbM+0UIZ~MRZJ~g3@4a3t%U6wOMN(< z%w49Fd8l-nIP%-v=tRnGoQ^Ya`^2~PA+(_zIB&Qbu(HO?J`SZPbP82Csaf6P zJcd)jO~~nQ_ASBC=jP|@9_*`z4zVrEt~rH3%+hJ}p*j+yUc8X614ae|FY{^p0Pm5f z9$Xx$d{93SYv6rf85oCnJR7wH0uOQL!en}-&PyYUj__5>q45V#Mj-P-0gqkn#5;Rr zUJlM5j=eAI!~E%JQg<*j7YY#C{rW;cRcq|r377d@59~6$QwBhv@WHnCD~^7oZ7a0V z&^P!1yEJ>m26Q!d9_R}Jn#9j};)>0C@D2EDxDg62#?VeQY1sg~UeU!JI$$jgC-+l< z|8ty*WLE!XD6-=rr*cA{qb_zg<_C|jDOdqr!(AP!$4=s{3R9E4!PP#XdOYM<#K$Lp znJ$8ycUh8%Q3DISRZ5Ic?XPz{iXGddn_8oYhu$tzx+tM9Vq+xl>f}gDqo*Pa;zkq) z;Q*?l8|^cZpF(YTsIYs<19Yg^!%ci|m#07)`*up)pP-9+pl$LYCUw2}7DtmpB_O^+ zOIsvc*5_W~Dd?jNj@T=8QCA8Kgs9YAuhl8S;z(?c%P}g02-u;68%O{VrS-iLlh8sQ zBj8?2RY;!vX}O826k*W!ISq#q^ylUG*Hdw!bL$kLVoh{Dn)W?*XfBouC8N?le)|>N zgelcB9jO_&=qyG6PrNfQ`r+q0pO8^cje=9jm2uQF${s&m5$Sqy5bHo;ayO++t0hUM z{Q{A$0nGZXmh|#JauR)?@=fE>@^NQIASd+3%|9msX?LSG3l>CniK=!G$rOkvi7SIf zV%#mt(mx;0Xp36HP^{F+0>ReAeVlC|is`M2*6YZqNy+1R4A82Kk2FtewKy%n41%w^ z+_pOk?ycqBpEh;(e(mnaCvP!OE%l*?vZ(K{V?rm7QETK{;?~-C8*neByPc7B7A5KMN_vOYNJW!DWY8-)n6&@{BRJa0 zq8m<@QG#(^oH~lbn0l_pCV~W!x`DBAZ%n%*o-d4w5SFl0+4ets2>HkU!XoI<#=&n< zNeH7hzqG+*Jp=fwwf%|4^CgFNLJTe0ox4DZ{y~H7yRyeCqteuLx=6Sl^YYL!gpk1I z2rf6brctn72bRV;0u7UuqGtNk2W)>?XrwHh6Kfg;(MHRl&(zSxB_jnviyi;CJOw4- zZ+Z8wb9>c53ga|kYE2ZKtQ@mhN&7JbM~ErHKv3~=V}DdNQ<0}q7Oo{X)fT^qp{N8c z*%MRl6pE?gWJ=Qa*R|Fd@Ond6<22Ghm=I}^6q)vFv<$lsUw{LY_SXkV7%O^n(MrJ& zjX_O)aKaQM1%aVD!fY1moN=EYbPL9D54#xynbu8IBVs=^drhpzEJ%dH_ z_h2{DX7ZMrC})6Dts}h}%$b z(iapxyTROkv?d*Z4Onf+!jDJ`!zelI)K!71!y8wn8m3h%Vt%@ZUW^b!onswzJF$)~ z0*0!wTYgKV4d5(nT0Oll3K>ML8}o(_^;Rz1yd1S%ZR9cHa* zgTe$!akV7nNAs~!YhR-3L?$5HXID=|Mno_$OXibFZs-%dKLo-+O(L65&A~B^2eA;2 zYz3;3SqMsG{gzQ{Xk+=Na;uxBIpKtXtpG7dLsl?FCED)? z)I}HNJsCpPO9>Jbf)CMpC7WX%eo+9vjWfp{=Hrv8tMmPc_K|h%{%np6h=i~F$LJB* zD|uZQh4LHn>rWPi;f7(DSL=wgOHnm6O%`(O7$OM;=m;SfXH&#C!Zm9Jn>Ds#EmlWx z8&gLE1u! z!fU0v2!&P}L;c=bDrM^|sX`@%F$D&9xil1KYn--~G(@kH%9Js(IIR?BA4;goNuy;r zjgTtXa+Qwg*4RF!(G|*NQBtXoVOAgwgj#eEg|;A|!*oyzgO-?&d^JT=GpV#U40}?X zkpo@eNiNkYUcd|j0t23n!TW8D9mG0 z4o(9LN|=El9tKIy^ufos3u!I6B-dmJx=N!CWTqDR0X>nQkfKjC2PC2 z8r-CH3=Gz-VRZ?z$fcBnR>+prPbJz1qAl4Ff59^_rn+*lu9M=<(BE(^38?trQ0@Pa zTEB=&>5gY9Bh+??m<3!i1iVD8i=Y+{hlzz0odJUnN9P0JfiAeqM}15K5lt=C=v5HG z=-!?bCaC&oA;fSBjo`%;Erf&cqmjaP2yRsf-U-o()&P?u4Om>zJvvI14>#d-9jjEv z0fI~?)gnuLolqFq(b+ZJa6Rs3NTC>b!HCsLs?b^SffL}+vWBAsWe|NirP3HOTeJvr z>Fw+7>&3z}259_`+eEN!D2>)@IG~L|GgPgGrIsR8s*jd~SEB~7f55yII&+*<9RvH6 zQYewNq8%etrjn}E$Z;69APWuUv|11>PD<4Z&0^P}Y-w?419;|p6b<)UT-HTk`&4YX zn$xPRbW$!h8n%#7>(G@^@gOsA7}}9}%GlFGH8L%4M8R%Ih!XSWRm}$l?7>=CU{LL2 zl-GgD!1^Idg)-~(8kJNX7DkDQhi?%& zj(BKqezpWLO)xvq$1Oh8KP~6ypi*c>*gw$<5#z6qI!WN_LTLE6TpT6**WBCS+Gb*( z4*b{s`Csv6vwzKrzq|tzP8jVPK>pbu$zVXEX{M0BgCCpb3D+_q$E+y4`K7>n3+*i^ z1>PILn_CLJbimV>5^r%S@y3)AZ%HZfmX#83YANtugS<;iz*{JkVfI5Q@t7@(vah&3 zT<&1{93D;vFntaW=dqYRhc|;qD-v&!P?iCD`KbszMuXW3{bg1Wc#OtUp$zprrwBaO z9<$X8z+=~9IX(hhs7`QQ`J-@yYs%fiHU5ZOngmT5+A4^@T>#{Ya3lc3zKA)}>ns@L z(ifn21RI4^6g~70q^A|0O{fxrn4eE2$#=H|dPoN8O&5$Zmis&{#3&8D4>s025+daXG!l%7CMWUH`n_^X`#q-95cM32vZBu;IL$#En!mH8nFWU(u|B zS>;L%RFPp8gq9^JgVwQTFx z$JaBkt5-Jn(t2d}oqk)IDm9@uTPI-q&byMW2tfV0+Q(aQFx+L!yu>?NL zNoZoCNy?NpDfd-*(+Xx40bzSJQbtm?Y#EcX<;t0WCMBbxoS0NESEGTg%U56bl9g{b zyr$jQ8Oux?xo$aZ-uqH|WBU-zxC&;qYS;PZ+a^t|nl*3X;MlfZd#4U=?jD|A-MqU8 z1or70)UW@5P&pSC9-$bf)#*pX#Ky&cH~#yi3CR;D&73uR&fIxF{xpC2ij}KY|GZ}H zx?i?#+rDGxuHAc%96fgY#K}{?p8oCfm8;iMf4_d?{)2~)9zS{d?0H(oo44=YXJ%#p znS*knoGkH@6_Bes$W_L~q^wDKluJ@320mr0o0Mx{`&A8>Ugc%OziwzZ*0iSUjAdI6 zS7>D4JKa1)bIGh$V~6`qGEg)sS?L5D_qQZ72xgS)2B}n50>&#_oj8;G5z8l$X8-;C z@9ALEkUa8z!19C(*Oujxgs<~R@`_w@--&s|dBB8EAN_J0CU#1i^!{~rpAJ?ZKMk|Y z%5ct}^kiSuz5UKd2L#sc8!))r8{b9^!+P6pTYS26v$9FcCp9C+&$aF8JGPIEs((CX zk;CRwb}37TP9nc9U$uM3{PPcbj7&bO^&GLMo&T^FApd@wqX(;OTNLcF^}w!O`}>Fc zoNc5tb80kY?b50a%lD7W&(xZ`qnae1@LjUzR7!`|N5)lsU_1TP#q#qm1?i)jzI8t^ zvPbq5&89}XWNB504~{unxyuFr16OKg{#J2Lw<~Mrx4EZ@m;0Bm;1S>McxAhjemgGv z%$c))OUw_pNlkoi*$gs!J3qfYQYIYQadB|=ks}q?gwC(^ww+hQq=4k#-&EZnliTT% zZm+ZH?Q@Zq#`0t2^-ktm$EV{r zSndAl$xl~zdN-;S`gZf9`RValev*V!^H%4PJ$WRju7CMO*(Zlw-PkE;jZ4(p+sA9P zH=Af*&a&AvNs8)i&=tMu+>ST@Sde_>RmD~t4p|QI85a9A*Q>Q(?w+cjO#1r%Bx|~M z?alsfM=wabj<&y&TR)=AU>mn9`n5gd^($x1`EV?H{d=pi180tEpHahW-+&WOKdiTV z`ra`uH~6@Bdy^^t z<$oM}{Z_w0j{9%fRQmO5{piSmp6S!JZ|J}A&XTaEi8J?(zckIu-$gm;9k|ngdIOeB zSiRS@%T@V-koNWFSjJi^<+i##fgOAQQ@@j46l^&~RU3nk+=aa-v!#|pD@)~Kr zpx@ZxE$mm085P&Uc2?G|w3ff`v*CvS9IHC<+bd`5*cCUP{}8PiIj!XxX~x+t*#|~z zBDEcUap-mQpz7EQ`|t9|A5HhGJ+35eS#dKsdEchaG0NL})$RZ2YSHVVO~ql)*QL#0 zKOp4fS(_(+uFdj3F??a}oRdMTVlSU;*>G5V)!$8}e-24l^vvb_t&#Dm^DjziD~PmsgyBe0p6Ju8naopdJKJC8J| z+#`3l)mz6N54!Btu1T}~efx%M*RK7^eQkZYc_&p){20fW`&J*vJKE$tT5|Scxx15> zWc;xzj~ujmGvG~n1*v3ayky9-3~g>_-NCF!xjp*DDt4I57ACNw8^1TfA0GpXnua+H-%~F|I+`Cvl>GJ)g zfj`Zx(PLa$sxMxmj_yCbcm?IcTKC!9{xK${#zMCrz8b za82dgzn|VxZ{_I3ocABsluiEberod1$xhq4Z9Ub$iGMhWhg~ha(z9~CqB`c@NO-nmlXv#yJkoIR>kpUm$g{{n?ULTTeldMguYTjYA8oa6 z<@=V8w^*)jxjP?HSBrK(D^laPKN!&ONZ6vc-EGq&wI4gTT#!Be!KR&q7FnF`dGpZS zgPil|lj)zzzs>P4FB$Uup3R>%-rda#&LeKa()Sb$Pjj-30VgnzRJl6v#Ey=8E12fI z81~&s=QmEn65d}-c-C<1yVgCQ<=kGBZIax$Tw+?#imIpPldP$7#ko~y_Z*(mzy5*n zAEWns+Gju59q}ODq<5?2OtUn%vQHM9evDkbZ^zb*rr$Si=+b24ql8uy{~Xt4LizMf zZ5G@Q+c9g-q)6{Z7pe@}Wbv@3BaR1=TmvZk8VW(58TE{!RI5<5)*41L| zeJAzm^mCKbLTi6z`)gWIws%$|^9!Q_=Kkr>tj4W`W&3vRlBGHysk%d(J$Ar>b{SvC z#&}d#9vb3%vw=x?oyXHUPq0khSW%(;7<7MojQ_Q)8M4$5Kkv%<4!r4UTGn)vJaTHu z>V#CAw8-Pz_ct6}weR8+59dxj(D!7O{mD6#GJ_?)v$EUy{qE9i!<5dZp}7g)k~hJ1 z5>DM*mykMQ!+_VF)c0Qmx#=Nv9EhCCf(m7&_rJ@9e8 zbF^o=(WZ^=)*qI;KmB3gRsESW zzpFM}b9!XG?D{X|57gQatG>T-k7|9n%vCWpmxK>}UQ_x*KV9P=I#>=PcQc;Msq*vv zkvsJk`gPx|7^T_uX!^16cPVbhAdwo7QNI6#p6OSQ?;f5x`S_a^zK<;Tjrs9Yx0HcK zr2LWO*#XP%EzBpqvMLg1^l+dpPJy!ZzLYhW!`0o~bu} z>al3k_U{gTZ1H;R$GTQYA3rR(-e~44&eSBXL2aiKe!YF2TafP_tO>ZETp`Um)iUc$ zYOiJG2AB1zkma$VUrvow1= zaPAs;Fr(ekkvDILjXY=FuToGIxqQZ?*`cXB8+A(UwKUty_tLh0_YUsdw)-bZT=>i; zjZ)XvFGu2bj8Ix^4UDh|6 zFeBCc@sRqvckIhvTQAdg<%n~wmN)S*Yn%Lg8S;E#ct*z6-| z?l*AY^?m;1%vXA~(s)0u)H!nY@RMDo(aPY<~Vy*ScdGW_YAd zT>Onq)W*=6)w;&^87s|n3O#ONkuhY|{T;)@PNkpHq@T81nUnKfzuErf!`FZGK6rK8 zuP+9izR~{a;AuyPx6gdC>vXfFW%k^*d0@S9rDAixn>VjJ_*-AKYc#i0)={%ZYnE1d zm|JVd&OFj(Pr|1U3AxtGc4aTwbpHF$53L}g)Er*J>(e`*;oJO8vUa9+n0jW=kPD69 zwhPkE8Ze}OM(3wVVT%VgTRLO4|Hh}yrJ?0;ZWJ2-ZJN8SEOcWfmg2fA-Q zKRmV7=$5rAJl?*j>CPF;=Tzx)@!oeYhIMFGcIPkIt2PWgR^v(C$mPycXRo(Rsp1Sn zboNghgIzBTOjce^s_0%J;p}2($)Kp3WW(7P{U?T5HJ&xor~l>mE%�soD@85jJGX z{*%kSLNk;X%pYTP3;?P*|q@d?>(UL z&|B3;Zh4n7U=rC9IfH*6_@$bwO^-0Sljcbr~U3DDlk^eBxHlKOqfZ0()r2H@e*5 zSq}RC5|&_1!{c!9n1kUJsltV#w|lSD z50$`U+NbDJ z##uRmijlLw=M9yGc07O+9ms)RGo1QEG;k(?*Iamt#g#LDm=2BnR1|6!_DBhYA-4lsHW*p26}jTHZ$23R{tgQHq7wk?J+%8V;^ zUq;j;Sy@kFPkF}nin8cXgBM6hEkO>Wy&I5G#0z?{8tj3(K-rnsj1g&o^+M*8#nq9( zFB#Ph^;j*~BR0TT3m6l^h&!dI1KL{P0(oGv8l%rY)jIPIciJm-;CoC$2}DbtUQuO? z6Egv)baIL9A?|mqH6zV`Di`C6c}_Rb;4ttj2`RpWals;U$ucz*B=>???@nC7)7lb8 z;shTD@S3*pZ3j?C(vGwz9pKs)FkGSB6(DT^;sJ5T2{0K|V;}#gvNQh0@z7}1l1mvk z%o9u2K@EX>PtdF}eu(J~C1`Wjssvsg;IIFwj4WDo1HX-@(cKs=#4tvgMY@vZsV#74 zlm#Ul20bqt`k;+yq!sC1Yz!+|BYgxe`@ozCXG9HP zT;s>w2Esl1ybfkbq15X*z`(gH=CM!`1^@UuddP9c*Z@YS5DE_iEE^a(JfOeeT(<$V z91i~)Kp(}~F;c_cg!M2YN6}Wp3yiYZ7WTS$Xp6}vA*^>Y?MTSqn`toL!GT7BIJy=R&uZ#^Asw(;a4#w~uBQq^m|XP) znrvMIj}{b=)E~T45B`ha4ZyR*z&pc$ck~{dSF)AHKlMxID@Y+6S|0&)^dtzb__d@2 zR>3^i#bYq3ECft;k59Sq|15?4pK{Ck39n;!K^qa!x3$o3jkB5J${9aWfuEB7ip|<^ zCZAvXtepm5NG_(A?%=7eAPdGZl&3g2qtE7p4DatoC#F}VA3!|;`wOm5JPKeNE+|-`Q}7S zmg35pKHHQ^CN{GuI2Q_p$i>eca2}7b-KGe=F2% zkddSzX#<}Q@bvXy(h9C@g*z;*83z z@QRWKcR*M(eN73W$7VPYL8^`h4=G)2;Kvf<$TAv6m(lQ3G`_P{;MaY8+fMXb zeZgPp^J826<%5i^^F29W1;2s80fX$M9Xvo*INnDKaQ^3cD1{?QIl1B2c`bc)r&)9Q z+d3Rh2tS|usg!ZB;R1&=%9L6-$_}o4;lu=qlnWS z0s1dH#+Pvbe7NP^EPNgTUm6pVPRK(U0CIehjlShO6fYp*TXmSQmKYHq1)_Zj{TE+j z!FL?-eql6q=^Auehcmf!StRH$|I08E7ngomYIxoS-P@G=lTc$|nzICn=boT5t)>xogo8D)6f zjp2wXYcqF^3{I&E3zJ4GRQwS@dWBLh4HFKLhBH-lan@vrKu4_i60O*+$>|R(ZQr}C zDKjH{`knr(nI^Fv^chU3tZc73Q@hn)CBQ#%Kv3 zDA+%UEX>N3UMau+lDi_m7dq9uQFfo5*Lc%@j_1_Ln~Q=aiijI}CBh`mLWx*IBIFYK zWj?I@H-AZnf2+%lEg9)*Exu@NmNYG{DA<6aWN-tZPn?t;&}_yor2IL{aLl5a zSs)&mhey5_ds;1#j1(GYj`9koVj_C~LgYb_@4g-{J+^;_`{sxg)1$jO-6{&!UBs5b zl->Y@!|Ui@K;Wk|^lv&yo8eiKO0IP@{IwAHqc&<)b2GEg9l%Q@N`XXI5vhEaOiTHI z1#Xb{Hr8!uH^ZEzd}@^d6hFnL=|YK%2m@P&wA8g5e?f{U?B@E7P*`Xwf*Tx|3Khii zaDJ%+*T`6?0K<$ffe?tNqu`nzQ=wL5Je>djKgmAIQ9Aa~tuV2LAPR3!A-r}3OHc^a zj+an4QOLy=yOdP%d!aB)$i;f6RPfZ9M#U9YfP#E_|3Abyt^tZ=98Y7<$M|SL!~`M7 ztOI^g^`a*5&uZZ^#qie+gp=?2zZirob1aeafA|3I;JG?JiETlf1TY%3tWb^_rP5IV z#0YsITcH2rHXWuy{@;>^=UeGhZ$nuPO#goKV84vHN zk*tLhTw!1;Xa~9@T4X^!f15@tgJFam*CXQ1rP6Gl;I0tm2`lU2gH9NFabu%03u<_7 zv+tSJdUU^6?4-1I2gcrPVm01t{l1u0hez(Kk6wYPAph0aQCWq&51lET*2y29X_&w* z6x@o%RA`lo{C!7@1cu=n6)h$~1wkNw+~I?X0wG73SR-|@5E8<%ahCew4FV?!5V1;W zV@w@M0)n_zPXUGv;D;r;m@KHjWT8~tfQVZzOLA;*j=s2-`1h)RtX3JPhEv8fgiSPwy=9RwI&$LQ5eR^DSmUj^#)J!!)KIdZEMyT&4vhkBt}( z2`t1zRVXYrUPjWo|16SAp$)1pR3r;g1tX4_S9W$I;xl$xJpfS)mW3RDio}FN8vacO z_!*c_D2{Pbz&cLB{(;RSUo0pXI|C^czN)PxpI{JZ%ePNEf^cc*L3od26g+UwC&oJ7 zQEMZgIB~P(YoU?`ddOhY*v&;+-cv- NSpawnActor(LabelIconClass, StartPoint, FRotator::ZeroRotator, SpawnParams); + + if (LabelIcon) + { + LabelIcon->OwningAction = this; + LabelIcon->bPersistOnActionEnd = true; + LabelIcon->UpdateLabel(StartPoint, 0.f); + Icons.Add(LabelIcon); + } + } } void AGestureAction_Ruler::UpdateAction_Implementation() { - if (!HandA || !IsValid(LineIcon)) return; + if (!HandA || !IsValid(LineIcon) || !IsValid(LabelIcon)) return; const FVector Current = HandA->Points[8]; //if (FVector::DistSquared(Current, RulerPoints[RulerPoints.Num() - 1]) < FMath::Square(UEUnitsPerUnit)) return; - RulerPoints[RulerPoints.Num() - 1] = Current - StartPoint; - RulerPoints[RulerPoints.Num() - 1].Z = 0; + RulerPoints.Last() = Current - StartPoint; + RulerPoints.Last().Z = 0; LineIcon->SetPoints(RulerPoints); + + // RulerPoints are local to the line actor, so convert back to world + FVector LabelPosition = StartPoint + (RulerPoints.Last() * 0.5f); + LabelPosition.Z = 10; + LabelIcon->UpdateLabel(LabelPosition, GetSnappedUnits(GetTotalLength())); } float AGestureAction_Ruler::GetSnappedUnits(float RawDistance) const diff --git a/Table/Source/Table/Private/MyTableIconActors.cpp b/Table/Source/Table/Private/MyTableIconActors.cpp index 5abebc6..7c068b8 100644 --- a/Table/Source/Table/Private/MyTableIconActors.cpp +++ b/Table/Source/Table/Private/MyTableIconActors.cpp @@ -98,17 +98,14 @@ void ATableIconLineActor::BuildLineMesh() MeshComponent->CreateMeshSection(0, Vertices, Triangles, Normals, UVs, Colors, Tangents, false); } - - - - +//-------------------------------------------------------------------------------------------- ATableIconWidgetActor::ATableIconWidgetActor() { USceneComponent* Root = CreateDefaultSubobject(TEXT("Root")); SetRootComponent(Root); - PrimaryActorTick.bCanEverTick = true; + PrimaryActorTick.bCanEverTick = false; WidgetComponent = CreateDefaultSubobject(TEXT("WidgetComponent")); WidgetComponent->SetupAttachment(RootComponent); @@ -120,22 +117,8 @@ ATableIconWidgetActor::ATableIconWidgetActor() WidgetInteraction->SetupAttachment(RootComponent); WidgetInteraction->InteractionSource = EWidgetInteractionSource::Custom; WidgetInteraction->InteractionDistance = 10.f; -} -void ATableIconWidgetActor::Tick(float DeltaTime) -{ - Super::Tick(DeltaTime); - - APlayerCameraManager* CamManager = UGameplayStatics::GetPlayerCameraManager(this, 0); - if (!CamManager) return; - - FVector CamLocation = CamManager->GetCameraLocation(); - FVector ToCamera = (CamLocation - GetActorLocation()).GetSafeNormal(); - - // Only rotate on yaw � keeps widget flat relative to table - ToCamera.Z = 0.f; - if (!ToCamera.IsNearlyZero()) - SetActorRotation(ToCamera.ToOrientationRotator()); + SetWidgetClass(LabelWidgetClass); } void ATableIconWidgetActor::SetWidgetClass(TSubclassOf InWidgetClass) @@ -150,10 +133,10 @@ UUserWidget* ATableIconWidgetActor::GetWidget() const return WidgetComponent->GetUserWidgetObject(); } +//-------------------------------------------------------------------------------------------- - -void ATableIconLabelActor::SetDistance(float RealWorldUnits, const FString& UnitSuffix) +void ATableIconLabelActor::UpdateLabel(const FVector& WorldLocation, float Value) { - int32 Snapped = FMath::RoundToInt(RealWorldUnits); - SetLabelText(FString::Printf(TEXT("%d%s"), Snapped, *UnitSuffix)); -} \ No newline at end of file + SetActorLocation(WorldLocation); + SetLabelText(FString::Printf(TEXT("%.1f%s"), Value, *UnitSuffix)); +} diff --git a/Table/Source/Table/Public/MyGestureActions.h b/Table/Source/Table/Public/MyGestureActions.h index ff35c01..69e40a3 100644 --- a/Table/Source/Table/Public/MyGestureActions.h +++ b/Table/Source/Table/Public/MyGestureActions.h @@ -35,7 +35,7 @@ public: UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Ruler") TSubclassOf LabelIconClass; UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Ruler") FString UnitSuffix = TEXT("\""); UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Ruler") TArray RulerPoints; - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Line") float DesiredHeight = -650.f; + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Ruler") float DesiredHeight = -650.f; UFUNCTION(BlueprintCallable, BlueprintPure) float GetTotalLength() const; UFUNCTION(BlueprintCallable) void AddRulerPoint(); diff --git a/Table/Source/Table/Public/MyTableIconActors.h b/Table/Source/Table/Public/MyTableIconActors.h index fc78e23..b8a46d7 100644 --- a/Table/Source/Table/Public/MyTableIconActors.h +++ b/Table/Source/Table/Public/MyTableIconActors.h @@ -11,15 +11,6 @@ class UWidgetComponent; class UWidgetInteractionComponent; -/** - * - */ -UCLASS() -class TABLE_API AMyTableIconActors : public ATableIconActor -{ - GENERATED_BODY() - -}; UCLASS(Blueprintable) @@ -46,6 +37,7 @@ private: void BuildLineMesh(); }; +//-------------------------------------------------------------------------------------------- UCLASS(Blueprintable) @@ -56,22 +48,26 @@ class TABLE_API ATableIconWidgetActor : public ATableIconActor public: ATableIconWidgetActor(); - UPROPERTY(VisibleAnywhere, BlueprintReadOnly) UWidgetComponent* WidgetComponent; - UPROPERTY(VisibleAnywhere, BlueprintReadOnly) UWidgetInteractionComponent* WidgetInteraction; - UFUNCTION(BlueprintCallable) void SetWidgetClass(TSubclassOf InWidgetClass); - UFUNCTION(BlueprintCallable, BlueprintPure) UUserWidget* GetWidget() const; + UPROPERTY(VisibleAnywhere, BlueprintReadOnly) UWidgetComponent* WidgetComponent; + UPROPERTY(VisibleAnywhere, BlueprintReadOnly) UWidgetInteractionComponent* WidgetInteraction; + UPROPERTY(VisibleAnywhere, BlueprintReadOnly) TSubclassOf LabelWidgetClass; + + UFUNCTION(BlueprintCallable) void SetWidgetClass(TSubclassOf InWidgetClass); + UFUNCTION(BlueprintCallable, BlueprintPure) UUserWidget* GetWidget() const; -protected: - virtual void Tick(float DeltaTime) override; }; +//-------------------------------------------------------------------------------------------- + UCLASS(Blueprintable) class TABLE_API ATableIconLabelActor : public ATableIconWidgetActor { GENERATED_BODY() public: - - UFUNCTION(BlueprintImplementableEvent, BlueprintCallable) void SetLabelText(const FString& Text); - UFUNCTION(BlueprintCallable) void SetDistance(float RealWorldUnits, const FString& UnitSuffix = TEXT("\"")); + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Label") FString UnitSuffix = TEXT("\""); + + UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "Label") void SetLabelText(const FString& Text); + UFUNCTION(BlueprintCallable, Category = "Label") void UpdateLabel(const FVector& WorldLocation, float Value); + }; \ No newline at end of file diff --git a/Table/enc_temp_folder/818ed75f49bf8f964599b398d81a43/MyGestureActions.cpp b/Table/enc_temp_folder/818ed75f49bf8f964599b398d81a43/MyGestureActions.cpp deleted file mode 100644 index a7e4280..0000000 --- a/Table/enc_temp_folder/818ed75f49bf8f964599b398d81a43/MyGestureActions.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// Fill out your copyright notice in the Description page of Project Settings. - - -#include "MyGestureActions.h" -#include "HandActor.h" -#include "TableIconActor.h" -#include "MyTableIconActors.h" - - -void AGestureAction_Ruler::InitAction_Implementation(AHandActor* Hand, const FGestureBinding& NewBinding, float NewUEUnitsPerUnit, float TableHeight) -{ - Super::InitAction_Implementation(Hand, NewBinding, NewUEUnitsPerUnit, TableHeight); - DesiredHeight = -500; - StartPoint = HandA->Points[8]; - StartPoint.Z = DesiredHeight; - - FActorSpawnParameters SpawnParams; - SpawnParams.Owner = this; - SpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn; - - if (LineIconClass) - { - - LineIcon = GetWorld()->SpawnActor(LineIconClass, StartPoint, FRotator::ZeroRotator, SpawnParams); - - if (LineIcon) - { - LineIcon->OwningAction = this; - LineIcon->bPersistOnActionEnd = true; - LineIcon->LineThickness = 50; - Icons.Add(LineIcon); - } - } - RulerPoints.Add(FVector(0, 0, 0)); - RulerPoints.Add(FVector(0, 0, DesiredHeight)); -} - -void AGestureAction_Ruler::UpdateAction_Implementation() -{ - if (!HandA || !IsValid(LineIcon)) return; - const FVector Current = HandA->Points[8]; - - //if (FVector::DistSquared(Current, RulerPoints[RulerPoints.Num() - 1]) < FMath::Square(UEUnitsPerUnit)) return; - //RulerPoints[RulerPoints.Num() - 1] = Current; - RulerPoints[RulerPoints.Num() - 1] = Current - StartPoint; - RulerPoints[RulerPoints.Num() - 1].Z = 0; - LineIcon->SetPoints(RulerPoints); -} - -float AGestureAction_Ruler::GetSnappedUnits(float RawDistance) const -{ - if (UEUnitsPerUnit <= 0.f) return 0.f; - return FMath::RoundToFloat(RawDistance / UEUnitsPerUnit); -} - -float AGestureAction_Ruler::GetTotalLength() const -{ - float Total = 0.f; - for (int32 i = 0; i < RulerPoints.Num() - 1; i++) - Total += FVector::Dist(RulerPoints[i], RulerPoints[i + 1]); - return Total; -} - -void AGestureAction_Ruler::AddRulerPoint() -{ - FVector Current = HandA->Points[8]; - //Current.Z = DesiredHeight; - RulerPoints.Add(Current - StartPoint); -} diff --git a/Table/enc_temp_folder/d06d726b1f8919e2123e6effd51e7/MyTableIconActors.cpp b/Table/enc_temp_folder/d06d726b1f8919e2123e6effd51e7/MyTableIconActors.cpp deleted file mode 100644 index bc53753..0000000 --- a/Table/enc_temp_folder/d06d726b1f8919e2123e6effd51e7/MyTableIconActors.cpp +++ /dev/null @@ -1,161 +0,0 @@ -// Fill out your copyright notice in the Description page of Project Settings. - - -#include "MyTableIconActors.h" -#include "KismetProceduralMeshLibrary.h" -#include "TableIconActor.h" - -#include "Kismet/GameplayStatics.h" -#include "Camera/CameraActor.h" - -ATableIconLineActor::ATableIconLineActor() -{ - PrimaryActorTick.bCanEverTick = false; // purely driven by SetPoints - - USceneComponent* Root = CreateDefaultSubobject(TEXT("Root")); - SetRootComponent(Root); - - MeshComponent = CreateDefaultSubobject(TEXT("LineMesh")); - MeshComponent->SetupAttachment(RootComponent); - MeshComponent->SetCastShadow(false); - MeshComponent->SetCollisionEnabled(ECollisionEnabled::NoCollision); -} - -void ATableIconLineActor::SetPoints(const TArray& NewPoints) -{ - const FTransform& ActorTransform = GetActorTransform(); - - Points.Reset(NewPoints.Num()); - - Points = NewPoints; - - MeshComponent->ClearMeshSection(0); - - BuildLineMesh(); - - if (LineMaterial) MeshComponent->SetMaterial(0, LineMaterial); -} - - - -void ATableIconLineActor::BuildLineMesh() -{ - TArray Vertices; - TArray Triangles; - TArray Normals; - TArray UVs; - TArray Colors; - TArray Tangents; - - FVector Direction = FVector::ZeroVector; - const float HalfLineThickness = LineThickness * 0.5f; - - for (int32 i = 0; i < Points.Num() - 1; i++) { - const FVector& PointA = Points[i]; - const FVector& PointB = Points[i + 1]; - - Direction = (PointB - PointA).GetSafeNormal(); - - const FVector Right = FVector::CrossProduct(FVector::UpVector, Direction).GetSafeNormal(); - - const FVector Offset = Right * (LineThickness * 0.5f); - - int32 Base = Vertices.Num(); - - Vertices.Add(PointA - Offset); - Vertices.Add(PointA + Offset); - Vertices.Add(PointB + Offset); - Vertices.Add(PointB - Offset); - - Triangles.Add(Base + 0); - Triangles.Add(Base + 1); - Triangles.Add(Base + 2); - - Triangles.Add(Base + 0); - Triangles.Add(Base + 2); - Triangles.Add(Base + 3); - } - - - for (int i = 0; i < Vertices.Num(); i++) - { - Normals.Add(FVector::UpVector); - } - - for (int i = 0; i < Vertices.Num(); i++) - { - UVs.Add(FVector2D::ZeroVector); - } - - for (int i = 0; i < Vertices.Num(); i++) - { - Colors.Add(FColor::Red); - } - - for (int i = 0; i < Vertices.Num(); i++) - { - Tangents.Add(FProcMeshTangent(Direction, false)); - } - - MeshComponent->CreateMeshSection(0, Vertices, Triangles, Normals, UVs, Colors, Tangents, false); -} - - - - - - -ATableIconWidgetActor::ATableIconWidgetActor() -{ - USceneComponent* Root = CreateDefaultSubobject(TEXT("Root")); - SetRootComponent(Root); - - PrimaryActorTick.bCanEverTick = true; - - WidgetComponent = CreateDefaultSubobject(TEXT("WidgetComponent")); - WidgetComponent->SetupAttachment(RootComponent); - WidgetComponent->SetDrawAtDesiredSize(true); - WidgetComponent->SetWidgetSpace(EWidgetSpace::World); - WidgetComponent->SetCollisionEnabled(ECollisionEnabled::NoCollision); - - WidgetInteraction = CreateDefaultSubobject(TEXT("WidgetInteraction")); - WidgetInteraction->SetupAttachment(RootComponent); - WidgetInteraction->InteractionSource = EWidgetInteractionSource::Custom; - WidgetInteraction->InteractionDistance = 10.f; -} - -void ATableIconWidgetActor::Tick(float DeltaTime) -{ - Super::Tick(DeltaTime); - - APlayerCameraManager* CamManager = UGameplayStatics::GetPlayerCameraManager(this, 0); - if (!CamManager) return; - - FVector CamLocation = CamManager->GetCameraLocation(); - FVector ToCamera = (CamLocation - GetActorLocation()).GetSafeNormal(); - - // Only rotate on yaw � keeps widget flat relative to table - ToCamera.Z = 0.f; - if (!ToCamera.IsNearlyZero()) - SetActorRotation(ToCamera.ToOrientationRotator()); -} - -void ATableIconWidgetActor::SetWidgetClass(TSubclassOf InWidgetClass) -{ - if (!InWidgetClass) return; - WidgetComponent->SetWidgetClass(InWidgetClass); - WidgetComponent->InitWidget(); -} - -UUserWidget* ATableIconWidgetActor::GetWidget() const -{ - return WidgetComponent->GetUserWidgetObject(); -} - - - -void ATableIconLabelActor::SetDistance(float RealWorldUnits, const FString& UnitSuffix) -{ - int32 Snapped = FMath::RoundToInt(RealWorldUnits); - SetLabelText(FString::Printf(TEXT("%d%s"), Snapped, *UnitSuffix)); -} \ No newline at end of file