void Update() { var xInput = Input.GetAxis("Horizontal"); var yInput = Input.GetAxis("Vertical"); ConveyorBeltBehaviour next = null; if (xInput > 0) { next = currentConveyorBelt.GetAdjacent(Direction.Right); } else if (xInput < 0) { next = currentConveyorBelt.GetAdjacent(Direction.Left); } if (yInput > 0) { next = currentConveyorBelt.GetAdjacent(Direction.Up); } else if (yInput < 0) { next = currentConveyorBelt.GetAdjacent(Direction.Down); } if (next && next != currentConveyorBelt) { GameManager.instance.musicManager.PlayToggleSound(); } currentConveyorBelt = next ?? currentConveyorBelt; var cpos = currentConveyorBelt.transform.position + highlightOffset; cpos.z = highlightZ; highlightTransform.position = Vector3.Lerp( highlightTransform.position, cpos, 1f - Mathf.Exp(-highlightSmoothing * Time.deltaTime) ); if (Input.GetButtonDown("Jump")) { if (currentConveyorBelt.TryPickPart(out var part)) { if (part.TryGetComponent <CameraFocusTransform>(out var cameraFocusTransform)) { cameraBehaviour.target = cameraFocusTransform; this.enabled = false; GameManager.instance.musicManager.PlaySelectSound(); } else { // do pick fail animation/sound } } } }
void Start() { currentConveyorBelt = startConveyorBelt; }