// Update is called once per frame void Update() { if (isOnElevator) { return; } if (GameManager.WinTrigerred) { return; } if (!isJumping && !Qbert_Dead) { //Debug.Log("KeyPress Active"); KeyboardInputCheck(); return; } if (tParamBezierParameter < 1.0) { this.tParamBezierParameter += BezierCurveFactor * Time.deltaTime; this.transform.position = Vector3.Lerp(Vector3.Lerp(this.position0, this.position1, tParamBezierParameter), Vector3.Lerp(this.position1, this.position2, tParamBezierParameter), tParamBezierParameter); } if (isJumping) { switch (SpriteSwitchCase) { case SpriteJumpDirection.JumpBottomLeft: spriteRenderer.sprite = JumpBottomLeft; break; case SpriteJumpDirection.JumpBottomRight: spriteRenderer.sprite = JumpBottomRight; break; case SpriteJumpDirection.JumpTopLeft: spriteRenderer.sprite = JumpTopLeft; break; case SpriteJumpDirection.JumpTopRight: spriteRenderer.sprite = JumpTopRight; break; default: spriteRenderer.sprite = BottomLeft; break; } } if (this.transform.position == this.position2) { if (BlockMovingTo != null) { BlockMovingTo.Activate(); BlockMovingTo = null; } else if (ElevatorMovingTo != null) { ElevatorMovingTo.ActivateElevator = true; ElevatorMovingTo = null; } isJumping = false; tParamBezierParameter = 0; if (SpriteSwitchCase == SpriteJumpDirection.JumpTopLeft) { spriteRenderer.sprite = TopLeft; } else if (SpriteSwitchCase == SpriteJumpDirection.JumpTopRight) { spriteRenderer.sprite = TopRight; } else if (SpriteSwitchCase == SpriteJumpDirection.JumpBottomLeft) { spriteRenderer.sprite = BottomLeft; } else if (SpriteSwitchCase == SpriteJumpDirection.JumpBottomRight) { spriteRenderer.sprite = BottomRight; } // If Qbert is dead, get the bezier curve movement to fall down, and reset if (Qbert_Dead && deathByFall) { //Debug.Log("In DeathbyFallQbert"); float tempCurveFactor = BezierCurveFactor; MoveAlongBezierCurve(this.transform.position, deadPositionForBezierCurve); if (transform.position.y == deadzoneY) { tParamBezierParameter = 1; GameManager.ResetGame = true; } } else if (Qbert_Dead && deathByEnemy) { //Time.timeScale = 0; tParamBezierParameter = 1; Debug.Log("In DeathbyEnemyQbert (Update)"); GameManager.ResetGame = true; } } //this.GetComponent<Rigidbody2D>().velocity = new Vector2(0, 0); }