It clearly shows false and yet goes out the true branch
It’s for a sliding puzzle, I’m trying to check the inversion and reshuffle if it’s unsolvable.
I’m getting the name of the component and splitting off so I keep the number, the first one doesn’t have a number so I’m checking if it’s numeric, if it is, then I know it’s not the first block created, if it’s not numeric, then I will know it didn’t have the _1 at the end, so I know it’s index 0 and can skip the inversion check.
I suppose I could probably get the length and if it’s more than 1 also know that it’s the first block, but thought I’d post this in case it’s a bug or at least I can learn what I’m doing wrong
for reference, here’s what a correct one looks like
Both, kind of. Relying on debug value watching can get confusing at times - especially with no short-circuit evaluation of pure nodes. However, a more serious mishap here is chopping up component name string to figure out whether we can slide or not.
Considering working with Tags actors and components support out of the box. If the puzzles are going to get complex, consider Tags’ BIGGER sibling:
Often the best way to get the actual result at the time of… is unfortunately a print string… itd be interesting to see if before the branch you get false and then off the true statement if it prints out false…
Display names shoudnt really change, but pure nodes ( the green ones ) will re evaluate for everything that reads them… so its possible that encapulating that bit of the code into a function with a local variable that it sets before returning it would make your debug view be accurate again… but setting some variable or a print string should make the debug become accurate again or reveal that its just pure nodes doing there thing…
Id probably switch to using gameplay tags like Everyone recommends
I checked and you’re right, as soon as I added the print string, it works like how I would expect, weird that adding that made it suddenly work, and yeah, I guess I’ll be using gameplay tags, thanks!