After the condition of a branch is met (in the function) it constantly fires the function through the event tick even when the condition(in the function) is not met afterwards. What this means is that it will keep moving the camera int he direction of the last met condition. While I just want it to not do anything when no condition is met. Why is that exactly?
Why not stick an F9 breakpoint on every ‘Set’, and you’ll find out why…
Might be better ways to do this too: Pure function / using Clamps etc.
Hmm never used that feature. So I right click each “set” + add the breakpoint and then the game goes grey/stops working if I hit the screen edges but having the mouse in the center and thus not hitting the edges it still moves to whatever direction it moved last. What am I missing here? I tried to set the CamDirectionX and Y to 0 but has no effect.
I’ve fixed it by putting a bool inbetween the function and addactorworldoffset. Still have no idea of why it does it.
I would add a Print-String mode to the last Branch, that’s the one that right now has nothing ‘for false’.
So Breakpoint that too! Then at least you’ve hedged your bets on all the code you’ve shown us so far.
But watch out logic-wise! You’ve over-engineered the blueprint above imo and it may haunt you later!
Oh probably but I don’t have the experience yet to see all these “over engineered” things. I can barley make it work this way…
Edit: I’ve made another function that will just ‘return’ if the vector equals to 0 if not it will only then do the GetCameraPan function. Any other thoughts?
Try to avoid ‘code monsters’. Aim to re-write / re-factor functions / events / bp’s, to keep them small / simple.
Just as you’re doing right now. The key is, watch for functions / events that are confusing / hard to debug etc.
If you can’t predict what the code will do it may be over-engineered. Notable exception: the main game loop!
The main loop-logic is far more complex and refactoring may make it worse. And that’s where logging helps!