Unity not recognizing true statement.

Hello,

I have a ledge hang and climb character where his animation flips on whether you are running left or right.

I want to disable movement when he is climbing and I’ve managed to stop all movement apart from the flipping.

So I have the boolean set…

bool moveDisable = false; 

Then on pressing the spacebar to climb the boolean is set to true…

anim.SetBool ("MoveDisable", !moveDisable);

Then if moveDisable is true return so that the flip function isn’t carried out…

if (!moveDisable) {return;}


		if (move > 0 && !facingRight && moveDisable) 
		{
			Flip ();
	    } else if (move < 0 && facingRight && moveDisable) 
		{
			Flip ();
		}

I can’t see why this doesn’t work. The problem is that it doesn’t seem to recognize that moveDisable is true and return, if I make it false then it does return and there is no flip in the animation.

Any help will be greatly appreciated, thanks :slight_smile:

You code says !moveDisable which is moveDisable == false not true as the text of your question states. Also you are setting the inverse of the moveDisable flag into the animator. The ! symbol means NOT