I use switch in if...it desn't work

switch(value)
{
case GameState.BACK:
zPos += 0.5*dt;
xPos = 0.169907;

	mainCamera.rigidbody.transform.position = Vector3(xPos,2.6398,zPos);
	EventFishPlay("dance");
break;
case GameState.START:
        leftPos = xPos + Range;
	rightFos = xPos - Range;
	ang = Mathf.Cos((Time.time)*0.01 * 2.0*Mathf.PI)*0.5+0.5;
	EventFishPlay("attack");
	mainCamera.rigidbody.transform.position = Vector3(leftPos * ang + rightFos*(1-ang),2.6398,2.122922);
			
	whalenani.transform.position.z = 200;
	sharkani.transform.position.z = 200;
	fursealani[1].transform.position.z = 200;
	fursealani[1].transform.position.y = 3;
	fursealani[0].transform.position.z = 200;
	FishMove(dt);
break;
		
case GameState.EVENT2:
	var zPos : float;
	var yPos : float;
	var ElipeTime :float = Time.deltaTime*10;
	zPos=mainCamera.transform.transform.position.z;
	yPos=mainCamera.transform.transform.position.y;

        
	zPos -= 0.5*dt;
	xPos = 0.169907;
	//here		
	if(zPos <= -7){
	        zPos=-7;
		State = GameState.EVENT2;
	}
	if(whalenani.transform.position.x>=22){
		State = GameState.BACK;
	}
	mainCamera.rigidbody.transform.position = Vector3(xPos,2.6398,zPos);
	EventFishPlay("dance");	
break;
	
}

case, if unable to use the inside? only outside??

Blockquote

Use the debug log to see where something goes wrong. Type Debug.Log (“Hello”); and look in your log if it displays it.